標籤:style class blog http tar ext
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的時候會有錯誤,缺少標頭檔,根據錯誤的檔案添加即可