您的位置:首页 > 编程语言 > C语言/C++

LOG4CPP & C++实现日志(-)

2008-07-31 18:10 169 查看
通过本文你一定可以了解如何实现log4cpp来实现日志。准备好了吗?我们开始。

在此你得带着以下几个问题:

(1)LOG4CPP是什么?

(2)用它来做什么?

(3)如何用?

(4)如何安装?

前两个问题,我先来用文字回答,这是理论的东西,可以浏览一下, 不太了解的地方跳过去,等到下面用一个小例子实现一下,再回过头来理解,更是收益多多。

我想先说:他是一个库。库如何使用?(include< >)你一定会。 呵呵! 细说一下吧,log4cpp是个基于LGPL的开源项目,是基于优秀的日志处理跟踪项目Java语言的log4j移植过来的。log4j介绍的文档很多,在java领域使用的也比较广泛,而这个功能强大的库对国内的C++语言开发人员却使用的不多。那么用它到底来做什么呢?一言一弊之:记载日志。
先不多言,我们用一个例子来说明:(注意读者想要动手试试这个例子,你得先安装这个库)如何安装
#include "log4cpp/CategoryStream.hh"
#include "log4cpp/PropertyConfigurator.hh"
#include "log4cpp/Category.hh"
#include <string>
using namespace std;

int main(int argc, char** argv)
{
log4cpp::PropertyConfigurator::configure("log4cpp.properties");
log4cpp::Category& logger = log4cpp::Category::getInstance(string("logTest"));

LOG_DEBUG(logger)<<"Hello Log4cpp";
string aa = "Hello Log4cpp";
LOG_DEBUG(logger)<<aa;
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include "log4cpp/CategoryStream.hh"
#include "log4cpp/PropertyConfigurator.hh"
#include "log4cpp/Category.hh"

这三个头文件是要在我们的实现程序增加的头文件。也就是类似于其它的库使用方法。在编译时要加上-I$(LOG4CPP_HOME)/include Lib文件夹增加-L$(LOG4CPP_HOME)/lib –llog4cpp。分别指定了头文件和库文件,当然了LOG4CPP_HOME指的是我们安装目录。
log4cpp::PropertyConfigurator::configure("log4cpp.properties");
这个操作是为了获取配置文件(log4cpp.properties),根据配置文件实例化所有的对象。注意:这个配置文件log4cpp.properties也是需要自己写好的。(看到这个不要认为复杂哦, 如果复杂它就没有存在的理由了)
log4cpp::Category& logger = log4cpp::Category::getInstance(string("logTest"));
这个操作是从实例化的所有日志对象中,建立日志对象logTest的引用,logTest日志是标准日志模板预设置的日志类对象。(注意:LogTest是库里的东东哦。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐