MCPcopy Create free account
hub / github.com/awawa-dev/HyperHDR / getInstance

Method getInstance

sources/utils/Logger.cpp:56–87  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

54}
55
56Logger* Logger::getInstance(const QString& name, Logger::LogLevel minLevel)
57{
58 QMutexLocker lock(&_mapLock);
59
60 Logger* log = _loggerMap.value(name, nullptr);
61 if (log == nullptr)
62 {
63 log = new Logger(name, minLevel);
64 _loggerMap.insert(name, log);
65
66 if (_loggerMap.size() == 1)
67 {
68 // detect if we can output colorized logs
69 #ifdef _WIN32
70 consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
71 _hasConsole = (consoleHandle != nullptr);
72 #else
73 _hasConsole = isatty(fileno(stdin));
74 #endif
75
76 T_LOG_MESSAGE t;
77 t.utime = QDateTime::currentDateTime().toMSecsSinceEpoch();
78 t.loggerName = name;
79 t.level = LogLevel::INFO;
80 t.levelString = LogLevelStrings[t.level];
81 t.message = (_hasConsole) ? "TTY is attached to the log output" : "TTY is not attached to the log output";
82 LoggerManager::getInstance()->handleNewLogMessage(t);
83 }
84 }
85
86 return log;
87}
88
89void Logger::deleteInstance(const QString& name)
90{

Callers

nothing calls this directly

Calls 3

handleNewLogMessageMethod · 0.80
valueMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected