0
点赞
收藏
分享

微信扫一扫

日志等级类

日志等级类

// 日志等级类
#ifndef __M_LEVEL_H__
#define __M_LEVEL_H__
namespace nmzlog{
    class LogLevel{
    public:
        // 日志等级用枚举类来表示,通过类来访问,避免枚举冲突
        // 定义出系统所包含的全部日志等级,每一个项目中都会设置一个默认的日志输出等级,大于等级默认时才输出
        enum class value{
            UNKNOW = 0,//未知级别
            DEBUG,//调试级别
            INFO,//提示级别
            WARN,//警告级别
            ERROR,//错误级别
            FATAL,//致命级别
            OFF//关闭日志等级输出
        };
        // 提供一个接口将枚举等级类转换为对应的字符串
        // 不需要传递this指针,可以定义成静态成员函数
        static const char* tostring(LogLevel::value level)
        {
            //根据对应的日志等级返回字符串
            switch(level)
            {
                case LogLevel::value::DEBUG :
                    return "DEBUG";
                case LogLevel::value::INFO:
                    return "INFO";
                case LogLevel::value::WARN:
                    return "WARN";
                case LogLevel::value::ERROR:
                    return "ERROR";
                case LogLevel::value::FATAL:
                    return "FATAL";  
                case LogLevel::value::OFF:
                    return "OFF"; 
            }
            return "UNKNOW";
        }
    };
}
#endif

日志等级类的测试

#include "util.hpp"
#include "LogLevel.hpp"
// 日志等级类的测试
int main()
{
    std::cout << nmzlog::LogLevel::tostring(nmzlog::LogLevel::value::DEBUG) <<std::endl;
}
举报

相关推荐

0 条评论