首页Linux shell › 【学习笔记】log4cxx安装和使用

【学习笔记】log4cxx安装和使用

【学习笔记】log4cxx安装和使用

一、简介

log4cxx是Java社区著名的log4j的c++移植版,用于为C++程序提供日志功能,以便开发者对目标程序进行调试和审计,log4cxx是apache软件基金会的开源项目,基于APR实现跨平台支持。一个良好的日志系统不管是开发、调试和维护,对一个项目来说是多么的重要,我想做过开发的同学深知这点。我用过的日志框架比较少,所以在这里不做与其它日志框架的比较,类似的日志框架还有GLog、boost log,如果有兴趣可以去研究一下。
其实刚工作时,9c的pass9项目中就需要日志系统,只是那时候还不知道log4cxx这个好东西,只能自己动手实现了一个简单,主要是用到了c函数的可变参数,值得注意的是线程安全的问题,所以在写文件时要加互斥锁,为了提高性能,还需注意文件块大小问题,当然了,功能特别简单,只有控制台和文件输出,有等级、时间、线程号、文件名、行号、函数名这些输出。

二、下载与安装

环境:linux
依赖:apr、apr-util
apr、apr-util下载地址:http://apr.apache.org/download.cgi
log4cxx下载地址:http://logging.apache.org/log4cxx/download.html
安装步骤:
1.由于log4cxx是依赖于apr的,因此先安装apr和apr-util这两个库,我会将这两个库安装到同一个目录下;
下载完之后,当前目录有apr-1.4.6.tar.gzapr-util-1.5.1.tar.gz两个文件。

目前apr安装完成,会在/usr/local下产生apr目录

apr-util也会安装/usr/local/apr目录下
2.开始安装log4cxx,下载完之后,当前目录下有apache-log4cxx-0.10.0.tar.gz

注意:由于我用的是ubuntu系统,默认编码是utf-8,因此必须要加上 –with-charset=utf-8 –with-logchar=utf-8,不然中文输出是一堆乱码。
这时候会出现这样的错误

在网上找了相关资料,原来有几个.cpp文件缺少了一些引用头文件,添加上去即可。

这些文件修改完之后,执行make和make install就可安装成功。

三、测试

主函数代码:main.cpp

配置文件:log4cxx.properties

会在屏幕中打印出
[DEBUG] 2012年11月14日 15:16:17,890 main.cpp(10) : test
先写到这里,下篇将会介绍log4cxx的配置。

发表评论