Welcome 微信登录

首页 / 操作系统 / Linux / 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.gz3、编译安装
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