1. 函数调用实现日志打印
调用如下
//实例化一个日志器 名字默认为"root"Logger::ptr logger(new Logger);//控制台输出器加入队列logger->addAppender(LogAppender::ptr(new StdoutLogAppender));//实例化一个日志事件LogEvent::ptr event(new LogEvent(logger, LogLevel::DEBUG,__FILE__, __LINE__, 0, GetThreadId(), GetCoroutineId(), time(0)));//以"流"的方式追加文本内容event->getSS() << "hello log";//按序打印日志信息logger->log(LogLevel::DEBUG, event);
结果如下:
nmoek@nmoek-virtual-machine:~/kit_server_project$ bin/test[DEBUG] </home/nmoek/kit_server_project/tests/test.cpp:20> 2021-11-25 14:18:08 68542 0 root hello log
2. 测试宏调用日志打印
2.1 固定日志级别输出日志内容
- 调用如下: ```cpp //实例化一个日志器 名字默认为”root” Logger::ptr logger(new Logger);
 
//控制台输出器加入队列 logger->addAppender(LogAppender::ptr(new StdoutLogAppender));
//使用宏函数 KIT_LOG_DEBUG(logger) << “hello log”; KIT_LOG_FATAL(logger) << “有致命错误”;
- **运行结果:**- **加上文件输出后调用如下:**```cpp//实例化一个日志器Logger::ptr logger(new Logger);//控制台输出器加入队列logger->addAppender(LogAppender::ptr(new StdoutLogAppender));//文件输出器加入队列logger->addAppender(LogAppender::ptr(new FileLogAppender("./test_log.txt")));KIT_LOG_DEBUG(logger) << "hello log";KIT_LOG_FATAL(logger) << "有致命错误";
- 运行结果:
 

2.2 带参日志输出日志内容
调用如下: ```cpp //实例化一个日志器 Logger::ptr logger(new Logger);
//控制台输出器加入队列 logger->addAppender(LogAppender::ptr(new StdoutLogAppender));
KIT_LOG_FMT_DEBUG(logger, “fmt debug test: %d”, 666); KIT_LOG_FMT_ERROR(logger, “fmt error test: %s”, “成功”);
- **运行结果如下:**<br /><a name="ynC7F"></a># 3. 日志级别隔离测试日志级别:`UNKONW < DEBUG < INFO < WARN < ERROR < FATAL`对应的输出器 `LogAppender`只能输出大于等于其级别的日志事件。<br />如:<br />级别为**DEBUG**的`LogAppender`可以输出DEBUG、INFO、WARN、ERROR、FATAL级别的日志事件;级别为**ERROR**的`LogAppender`只能输出ERROR、FATAL级别的日志事件。<br />- **调用如下**```cpp//实例化一个日志器Logger::ptr logger(new Logger);//控制台输出器加入队列logger->addAppender(LogAppender::ptr(new StdoutLogAppender));//文件输出器加入队列 默认级别:DEBUGlogger->addAppender(LogAppender::ptr(new FileLogAppender("./test_log.txt")));//文件输出器加入队列 设置级别:ERROR、指定模板LogAppender::ptr fmt_file_app(new FileLogAppender("./fmt_test_log.txt"));LogFormatter::ptr fmt(new LogFormatter("[%p]%T%d%T%m%T%n"));fmt_file_app->setFormatter(fmt);fmt_file_app->setLevel(LogLevel::ERROR);logger->addAppender(fmt_file_app);KIT_LOG_DEBUG(logger) << "hello log";KIT_LOG_FATAL(logger) << "有致命错误";KIT_LOG_FMT_ERROR(logger, "fmt error test: %s", "成功");KIT_LOG_WARN(logger) << "warn log";
- 运行结果如下:
 
一个实验组: 匿名LogAppender |  级别:DEBUG  | 输出位置:   文件"./test_log.txt"      
一个对照组: mt_file_appLogAppender | 级别:ERROR  |  输出位置:文件"./fmt_test_log.txt"
可以明显的看到,级别为DEBUG的控制台输出器、级别为DEBUG的文件输出器所有日志事件都输出了。
但是,级别为ERROR的文本输出器只输出了ERROR、FATAL的日志事件
