log4cpp简明教程
log4cpp是一款c++开源的日志库,我也是刚刚使用,所以对它的了解不是很多。这是第一次在项目中使用log4cpp,当然我在c++方面的项目经验也是屈指可数。这篇文章会是一个简明的教程,方便类似我这样的新手可以快速入门,不会有太高深的内容。log4cpp相关的背景和特点这里也不再多说,感兴趣的可自行查找资料。
基本步骤
1、实例化1个appender对象
2、实例化1个layout对象,并将layout绑定到appender
3、获得Category并设置优先级和添加apprender
4、调用Category写日志
参考代码
这是1个根据日期划分日志文件的简单样例。main.cpp代码
#include <iostream>
#include <log4cpp/Category.hh>
#include <log4cpp/PatternLayout.hh>
#include <log4cpp/DailyRollingFileAppender.hh>
using namespace std;
using namespace log4cpp;
int main() {
DailyRollingFileAppender *appender = new DailyRollingFileAppender(
string("default"),
string("/Users/king/c_project/logger/build/log/data.log")
);
string patter = "%d[%p] %m%n";
PatternLayout *layout = new PatternLayout();
layout->setConversionPattern(patter);
appender->setLayout(layout);
Category& root = Category::getRoot();
root.addAppender(appender);
root.info("This is test.");
root.error("sql error.");
cout << "done!" << endl;
return 0;
}
这里保存目录如果要指定日志保存目录,请使用绝对路径。
编译链接
c++ main.cpp -o logger -llog4cpp ./logger
近期评论