首页 > C/C++, Linux > log4cpp简明教程

log4cpp简明教程

2017年10月13日 发表评论 阅读评论

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

分类: C/C++, Linux 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
您必须在 登录 后才能发布评论.