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.gzapr-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文件

[cpp]
  1. #include <log4cxx/logger.h>   
  2. #include <log4cxx/logstring.h>   
  3. #include <log4cxx/propertyconfigurator.h>   
  4.   
  5. int main(int argc, char* argv[])  
  6. {  
  7.     using namespace log4cxx;  
  8.   
  9.     // 读取配置文件   
  10.     PropertyConfigurator::configure("log4cxx.properties");  
  11.   
  12.     // 建立两个logger   
  13.     LoggerPtr logger1 = Logger::getLogger("TraceYourMama");  
  14.     LoggerPtr logger2 = Logger::getLogger("Patch");  
  15.   
  16.     LOG4CXX_TRACE(logger1, "跟踪");  
  17.     LOG4CXX_WARN(logger1, "警告");  
  18.     LOG4CXX_DEBUG(logger1, "调试");  
  19.     LOG4CXX_ASSERT(logger1, false"断言");  
  20.     LOG4CXX_FATAL(logger1, "致命");  
  21.   
  22.     LOG4CXX_TRACE(logger2, "跟踪");  
  23.     LOG4CXX_ERROR(logger2, "错误");  
  24.     return 0;  
  25. }  

2、编写 log4cxx.properties 文件

[plain]
  1. # 设置root logger为DEBUG级别,使用了ca和fa两个Appender  
  2. log4j.rootLogger=DEBUG, ca, fa  
  3.   
  4. #对Appender fa进行设置:  
  5. # 这是一个文件类型的Appender,  
  6. # 其输出文件(File)为./output.log,  
  7. # 输出方式(Append)为覆盖方式,  
  8. # 输出格式(layout)为PatternLayout  
  9. log4j.appender.fa=org.apache.log4j.FileAppender  
  10. log4j.appender.fa.File=./output.log  
  11. log4j.appender.fa.Append=false  
  12. log4j.appender.fa.layout=org.apache.log4j.PatternLayout  
  13. log4j.appender.fa.layout.ConversionPattern=%d [%t] %-5p %.16c - %m%n  
  14.   
  15. #对Appender ca进行设置  
  16. # 这是一个控制台类型的Appender  
  17. # 输出格式(layout)为PatternLayout  
  18. log4j.appender.ca=org.apache.log4j.ConsoleAppender  
  19. log4j.appender.ca.layout=org.apache.log4j.PatternLayout  
  20. log4j.appender.ca.layout.ConversionPattern=%d [%t] %-5p %.16c - %m%n  

    编译链接

    $g++ -o main main.cpp -llog4cxx

    $./mian

相关内容