7Cogs::Logging::FileLogger::~FileLogger() {
17void Cogs::Logging::FileLogger::initialize(
const char* path) {
20 LockGuard lock(mutex);
22 outputFile = std::fopen(path,
"w");
25void Cogs::Logging::FileLogger::cleanUp() {
26 LockGuard lock(mutex);
29 std::fclose(outputFile);
34void Cogs::Logging::FileLogger::consumeMessage(
const char* source,
Category category, uint32_t ,
const char* message,
const char* filename,
int lineNumber) {
35 LockGuard lock(mutex);
38 if (outputFilenames && filename && filename[0] !=
'\0') {
39 std::fprintf(outputFile,
"[%s][%s] %s (%s:%d)\n", getCategoryName(category), source, message, filename, lineNumber);
42 std::fprintf(outputFile,
"[%s][%s] %s\n", getCategoryName(category), source, message);
44 if (category >= Category::Error) {
45 std::fflush(outputFile);
static FileLogger & instance()
Retrieve the global fileLogger instance.
Category
Logging categories used to filter log messages.