日志等级类 // 日志等级类#ifndef __M_LEVEL_H__#define __M_LEVEL_H__namespace nmzlog{ class LogLevel{ public: // 日志等级用枚举类来表示,通过类来访问,避免枚举冲突 // 定义出系统所包含的全部日志等
日志等级类
// 日志等级类
#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;
}