Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-02 08:43:50

0001 #ifndef LOGGER_LEVEL_H
0002 #define LOGGER_LEVEL_H
0003 
0004 /**
0005  * @file LoggerLevel.h
0006  * @author Bryan BERTHOU (SPhN / CEA Saclay)
0007  * @date 05 September 2014
0008  * @version 1.0
0009  */
0010 
0011 #include <string>
0012 
0013 #include "../string_utils/StringUtils.h"
0014 
0015 namespace ElemUtils {
0016 
0017 /**
0018  * @class LoggerLevel
0019  * @brief
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 } // namespace ElemUtils
0083 
0084 #endif /* LOGGER_LEVEL_H */