| 220 | } |
| 221 | |
| 222 | void Logger::UpdateMinLogSeverity() |
| 223 | { |
| 224 | std::unique_lock<std::mutex> lock (m_UpdateMinLogSeverityMutex); |
| 225 | auto result (LogNothing); |
| 226 | |
| 227 | for (auto& logger : Logger::GetLoggers()) { |
| 228 | ObjectLock llock (logger); |
| 229 | |
| 230 | if (logger->IsActive()) { |
| 231 | result = std::min(result, logger->GetMinSeverity()); |
| 232 | } |
| 233 | } |
| 234 | |
| 235 | if (Logger::IsConsoleLogEnabled()) { |
| 236 | result = std::min(result, Logger::GetConsoleLogSeverity()); |
| 237 | } |
| 238 | |
| 239 | #ifdef _WIN32 |
| 240 | if (Logger::IsEarlyLoggingEnabled()) { |
| 241 | result = std::min(result, LogCritical); |
| 242 | } |
| 243 | #endif /* _WIN32 */ |
| 244 | |
| 245 | m_MinLogSeverity.store(result); |
| 246 | } |
| 247 | |
| 248 | Log::Log(LogSeverity severity, String facility, const String& message) |
| 249 | : Log(severity, std::move(facility)) |
nothing calls this directly
no test coverage detected