java cp log4j_log4cpp_log4j与log4cp区别_log4cpp全局对象

Log4cpp是个开源的日志跟踪项目,它是运行在c环境下的。

由于Java的日志处理跟踪项目log4j的效果很好,所以把它移植到c,并保持了API上的一致。其类的支持库还包括C(log4c)、python(log4p)、c#(log4net)等。因为之前使用过log4net,相比之下,感觉log4cpp的使用还是复杂一些。

目前接触到的东西不多,主要使用Log4cpp的Category(种类)、Appender(附加目的地)和Layout(布局)三个方面,对于Priority(优先级)和NDC(嵌套的诊断上下文)等方面还有待进一步学习。

二 下载

如果想使用log4xx,可以到如下地址下载:

下载地址:

三 解压与编译

下载之后,首先要进行解压缩。在linux环境下,执行如下语句(本人下载的log4cpp-1.1.2rc1.tar.gz版本):

tar zxvf log4cpp-1.1.2rc1.tar.gz

解压缩以后,就开始进行编译过程了。在windows系统下,可以找到合适的vs版本环境打开,删除除了log4cppLib、log4cpp目录外的所有testXXX solution(不删除会报错)。如果是在linux系统下,则进入到解压后的文件,执行以下命令即可:

./configure

make

make install

四 生成结果

在windos下编译成功之后,在log4cppLib或者log4cpp的debug目录下会生成相应的lib文件,即log4cpp.lib、log4cppD.lib,在以后的编程中将要用到这些文件。

在linux编程成功之后,在/usr/local/lib/目录下,会生成liblog4cpp.so(默认情况下)

五 简单的demo

通过配置文件log4cpp.conf说明配置,具体配置如下:

#log4cpp配置文件

#定义Root category的属性

log4cpp.rootCategory=DEBUG, RootLog

#定义RootLog属性

log4cpp.appender.RootLog=FileAppender

log4cpp.appender.RootLog.fileName= E:\

log4cpp.appender.RootLog.layout=PatternLayout

log4cpp.appender.RootLog.layout.ConversionPattern=%d [%p] - %m

配置完成后,就可以在代码中加载,具体代码如下:

log4cpp::PropertyConfigurator::configure("./log4cpp.conf");

然后我们可以通过log4cpp::Category& root = log4cpp::Category::getRoot();获得具体的category对象了。log4cpp

最后的使用root.info(“This is a test!”);

六 问题

在linux环境下,可能会遇到各种奇葩的问题,简单的总结以下。

首先,在我们用g命令编译的时候,可能会出现链接错误。对于这个问题,我试了好多办法,然而并没有什么卵用。原来编译的时候要用-l参数指定log4cxx命名空间。具体如下:

g -llog4ccpp -o demo.out demo.cpp

这样就会产生demo.out可执行文件了。

在执行的时候,还遇到如下面的错误:

./demo.out: error while loading shared libraries: liblog4cpp.so.10:cannot open shared object file: No such file or directory

这个问题是因为你没有设置LD_LIBRARY_PATH环境变量造成的,可以执行如下命令解决:

export LD_LIBRARY_PATH=/usr/local/lib

七 总结

log4cpp的学习过程还在进行,以后再继续更新。

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-23408-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值