-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLogEntry.cpp
More file actions
25 lines (22 loc) · 953 Bytes
/
LogEntry.cpp
File metadata and controls
25 lines (22 loc) · 953 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "LogEntry.h"
#include <algorithm>
std::string LogEntry::levelToString() const {
switch (level) {
case LogLevel::DEBUG: return "DEBUG";
case LogLevel::INFO: return "INFO";
case LogLevel::WARNING: return "WARNING";
case LogLevel::ERROR: return "ERROR";
case LogLevel::CRITICAL: return "CRITICAL";
default: return "UNKNOWN";
}
}
LogLevel LogEntry::levelFromString(const std::string& s) {
std::string upper = s;
std::transform(upper.begin(), upper.end(), upper.begin(), ::toupper);
if (upper == "DEBUG") return LogLevel::DEBUG;
if (upper == "INFO") return LogLevel::INFO;
if (upper == "WARNING" || upper == "WARN") return LogLevel::WARNING;
if (upper == "ERROR") return LogLevel::ERROR;
if (upper == "CRITICAL" || upper == "FATAL") return LogLevel::CRITICAL;
return LogLevel::UNKNOWN;
}