-
前言
本篇接上一篇《imx6移植log4cplus库》。
-
在程序中配置
主程序:
#include <log4cplus/log4cplus.h>
using namespace std;
using namespace log4cplus;
int main()
{
//用Initializer类初始化, 根据官方文档建议,放在main()函数最开始位置,替代旧版的log4cplus::initialize()函数
log4cplus::Initializer initializer;
//第1步:创建FileAppender,个人对日志需求是滚动更新且保留最新的,故使用RollingFileAppender
log4cplus::SharedAppenderPtr fileAppender(new log4cplus::RollingFileAppender(
LOG4CPLUS_TEXT("/var/log/GuidanceLog/GuidanceLog"),
204800, 2, true, true
)
);
//第2步:设置FileAppender使用PatternLayout
fileAppender->setName(LOG4CPLUS_TEXT("guidance"));
log4cplus::tstring pattern = LOG4CPLUS_TEXT("%d{%y/%m/%d %H:%M:%S.%q} - %m%n");
fileAppender->setLayout(std::unique_ptr<log4cplus::Layout>(new log4cplus::PatternLayout(pattern)));
//第3步:创建一个Logger实例,并设置其日志输出等级
log4cplus::Logger guidanceLog = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT ("guidance"));
guidanceLog.setLogLevel(log4cplus::INFO_LOG_LEVEL);
//第4步:为Logger实例添加FileAppender
guidanceLog.addAppender(fileAppender);
//第5步:使用宏将日志输出
for(int i = 0, j = 0; i < 10000; i++,j--){
LOG4CPLUS_INFO(guidanc