File indexing completed on 2026-06-02 08:43:50
0001 #ifndef LOGGER_LEVEL_H
0002 #define LOGGER_LEVEL_H
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include <string>
0012
0013 #include "../string_utils/StringUtils.h"
0014
0015 namespace ElemUtils {
0016
0017
0018
0019
0020
0021 class LoggerLevel {
0022 public:
0023 enum Type {
0024 DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3, OFF = 4, NONE = 5
0025 };
0026
0027 LoggerLevel(Type t) :
0028 m_type(t) {
0029 }
0030
0031 std::string toString() const {
0032 switch (m_type) {
0033 case DEBUG:
0034 return "DEBUG";
0035 break;
0036 case INFO:
0037 return "INFO";
0038 break;
0039 case WARN:
0040 return "WARN";
0041 break;
0042 case ERROR:
0043 return "ERROR";
0044 break;
0045 case OFF:
0046 return "OFF";
0047 break;
0048 default:
0049 return "NONE";
0050 }
0051 }
0052
0053 static LoggerLevel fromString(std::string level) {
0054 StringUtils::to_upperCase(level);
0055 if (level == "DEBUG") {
0056 return DEBUG;
0057 } else if (level == "INFO") {
0058 return INFO;
0059 } else if (level == "WARN") {
0060 return WARN;
0061 } else if (level == "ERROR") {
0062 return ERROR;
0063 } else if (level == "OFF") {
0064 return OFF;
0065 }
0066
0067 return NONE;
0068 }
0069
0070 LoggerLevel::Type getType() const {
0071 return m_type;
0072 }
0073
0074 void setType(Type type) {
0075 m_type = type;
0076 }
0077
0078 private:
0079 LoggerLevel::Type m_type;
0080 };
0081
0082 }
0083
0084 #endif