Linux下编译安装log4cxx
一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库。功能很不错。下面记录下它的编译和安装过程。
log4cxx的官方下载地址是http://logging.apache.org/log4cxx/index.html ,我用的是0.10.0版本。
为了编译它,还需要两个辅助库,apr,和apr-util,可以在这里下载http://apr.apache.org/download.cgi ,我用的版本分别是apr-1.3.8.tar.gz 和apr-util-1.3.9.tar.gz 。
第一步安装apr-1.3.8,顺序不能错,它必须首选安装
$tar zxvf apr-1.3.8.tar.gz
$cd apr-1.3.8
$./configure --prefix=/usr/local
$make
$su root
$make install
然后安装apr-util-1.3.9
$tar zxvf apr-util-1.3.9.tar.gz
$cd apr-util-1.3.9
$./configure --prefix=/usr/local --with-apr=/usr/local/apr
$make
$su root
$make install
configure选项 --with-apr=/usr/local/apr指定apr库的位置
最后就可以安装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
因为编译成的是共享库,最后还要设置下搜索目录,编辑~/.bashrc,添加下面两行
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
OK,至此log4cxx就安装完毕了。
最后写个程序,测试下。
#include <log4cxx/logger.h>
#include <log4cxx/logstring.h>
#include <log4cxx/propertyconfigurator.h>
int main(int argc, char* argv[])
{
using namespace log4cxx;
// 读取配置文件
PropertyConfigurator::configure("log4cxx.cfg");
// 建立两个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;
}
编译链接
$g++ -o main main.cpp -llog4cxx
OK,打完手工。
最后安装log4cxx的时候会有错误,缺少头文件,根据错误的文件添加即可