linux log4cxx编译方法

0、下载
http://logging.apache.org/log4cxx/   


1、先下载如下源代码包
apr-1.3.3.tar.bz2
apr-util-1.3.4.tar.bz2
apache-log4cxx-0.10.0.tar.gz

2、将上述包上传到同一个目录下

3、安装apr
安装步骤:
tar xjf apr-1.3.3.tar.bz2
cd apr-1.3.3
./configure --prefix=/usr/local/apr
make
make install


4、安装apr-util
安装步骤:
tar xjf apr-util-1.3.4.tar.bz2
cd apr-util-1.3.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install


4、安装log4cxx

安装步骤:
tar xzf apache-log4cxx-0.10.0.tar.gz
cd apache-log4cxx-0.10.0
./configure --prefix=/usr/local/log4cxx --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
make
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,打完手工。


5、打包二进制包
切换到/usr/local目录下,包文件名格式为:
apache-log4cxx-0.10.0-Linux发行版本-内核版本-libc版本-线程库版本.tar.gz


如:
apache-log4cxx-0.10.0-SuSE10-2.6.16-libc24-NPTL24.tar.gz


将/usr/local目录下的apr-1.3.3、apr-util-1.3.4和apache-log4cxx-0.10.0三个子目录打到包中,如:
tar czf apache-log4cxx-0.10.0-SuSE10-2.6.16-libc24-NPTL24.tar.gz apr-1.3.3 apr-util-1.3.4 apache-log4cxx-0.10.0

你可能感兴趣的:(linux log4cxx编译方法)