log4cxx-Linux 安装调试
1、介绍:
一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库。功能很不错。下面记录下它的编译和安装过程。
log4cxx的官方下载地址是http://logging.apache.org/log4cxx/index.html,我用的是0.10.0版本。
linux版本:CentOS5.3
2、下载
为了编译它,还需要两个辅助库,apr,和apr-util,可以在这里下载http://apr.apache.org/download.cgi,下载 unix版本apr-1.4.5.tar.gz 和apr-util-1.3.12.tar.gz
3、编译安装
1)第一步安装apr-1.4.5,顺序不能错,它必须首选安装
$tar zxvf apr-1.4.5.tar.gz
$cd apr-1.4.
$./configure --prefix=/usr/local
$make
$su root
$make install
2)然后安装apr-util-1.3.12
$tar zxvf apr-util-1.3.12.tar.gz
$cd apr-util-1.3.12
$./configure --prefix=/usr/local --with-apr=/usr/local/apr
$make
$su root
$make install
configure选项 --with-apr=/usr/local/apr指定apr库的位置
3)最后就可以安装log4cxx了
$tar zxvf apache-log4cxx-0.10.0.tar.gz
$cd apache-log4cxx-0.10.0
$configure --prefix==/usr/local
$make
$su root
$make install
4)添加共享链接库
export LD_LIBRARY_PATH=/usr/local/lib
OK,至此log4cxx就安装完毕了。
4、测试程序。
1)新建main.cpp文件
- #include <log4cxx/logger.h>
- #include <log4cxx/logstring.h>
- #include <log4cxx/propertyconfigurator.h>
- int main(int argc, char* argv[])
- {
- using namespace log4cxx;
- // 读取配置文件
- PropertyConfigurator::configure("log4cxx.properties");
- // 建立两个logger
- LoggerPtr logger1 = Logger::getLogger("TraceYourMama");
- LoggerPtr logger2 = Logger::getLogger("Patch");
- LOG4CXX_TRACE(logger1, "跟踪");
- LOG4CXX_WARN(logger1, "警告");
- LOG4CXX_DEBUG(logger1, "调试");
- LOG4CXX_ASSERT(logger1, false, "断言");
- LOG4CXX_FATAL(logger1, "致命");
- LOG4CXX_TRACE(logger2, "跟踪");
- LOG4CXX_ERROR(logger2, "错误");
- return 0;
- }
编译链接2、编写 log4cxx.properties 文件
- # 设置root logger为DEBUG级别,使用了ca和fa两个Appender
- log4j.rootLogger=DEBUG, ca, fa
- #对Appender fa进行设置:
- # 这是一个文件类型的Appender,
- # 其输出文件(File)为./output.log,
- # 输出方式(Append)为覆盖方式,
- # 输出格式(layout)为PatternLayout
- log4j.appender.fa=org.apache.log4j.FileAppender
- log4j.appender.fa.File=./output.log
- log4j.appender.fa.Append=false
- log4j.appender.fa.layout=org.apache.log4j.PatternLayout
- log4j.appender.fa.layout.ConversionPattern=%d [%t] %-5p %.16c - %m%n
- #对Appender ca进行设置
- # 这是一个控制台类型的Appender
- # 输出格式(layout)为PatternLayout
- log4j.appender.ca=org.apache.log4j.ConsoleAppender
- log4j.appender.ca.layout=org.apache.log4j.PatternLayout
- log4j.appender.ca.layout.ConversionPattern=%d [%t] %-5p %.16c - %m%n
$g++ -o main main.cpp -llog4cxx
$./mian