RedHat如何安裝log4cxx日志庫
log4cxx日志庫是一種動(dòng)態(tài)庫,用于記錄c++的日志,那么RedHat系統(tǒng)下要如何安裝log4cxx日志庫呢?下面學(xué)習(xí)啦小編就給大家介紹下RedHat安裝log4cxx日志庫的步驟,感興趣的朋友不妨來了解下吧。
首先,我得到信息,安裝這個(gè)庫一共需要三個(gè)軟件
apr-1.4.6.tar.gz
apr-util-1.4.1.tar.gz
apache-log4cxx-0.10.0.tar.gz
安裝順序是從上到下的,為什么,因?yàn)楹笳叩陌惭b依賴前者。
我整理了一下思路,有如下幾個(gè)問題:
1.安裝log4cxx庫到哪個(gè)目錄?
2.安裝好之后怎么用?
我首先想到的是網(wǎng)上查資料,結(jié)果很多結(jié)果都顯示:
1.針對問題1,99%的都安裝在/usr/local目錄下(我的權(quán)限是普通用戶,安裝在/usr/local目錄下需要root權(quán)限,我頓時(shí)打了個(gè)寒戰(zhàn),萬一我安裝錯(cuò)了,服務(wù)器暴了怎么辦)
2.針對問題2,因?yàn)?9%的都是安裝在/usr/local目錄下,結(jié)果就是隨便提供一個(gè)測試程序,直接來g++ test.cpp 其他簡單參數(shù)
我想了又想,最終按照第一步做了(在此之前我向領(lǐng)導(dǎo)要了管理員權(quán)限),安裝好后,沒什么問題,不過,接下來,在進(jìn)行寫程序測試的時(shí)候,關(guān)于log4cxx庫的文件都找不到,我崩潰了,這和網(wǎng)上說的不一樣啊。
步驟:
1.把三個(gè)壓縮包放置到一個(gè)你喜歡的目錄下,比如/home/mac/log4cxx這個(gè)目錄下
2.在/home/mac/log4cxx目錄下解壓三個(gè)壓縮包得到三個(gè)文件夾(解壓縮命令tar zxvf 你的目標(biāo))
3.在/home/mac/log4cxx目錄下新建三個(gè)文件夾apr apr-util log4cxx作為三個(gè)包的安裝目錄(執(zhí)行make install時(shí)的安裝目錄)
4.首先進(jìn)入apr-1.4.6目錄執(zhí)行。/configure --prefix=/home/mac/log4cxx/apr配置apr包的安裝目錄為/home/mac/log4cxx/apr
5.執(zhí)行make
6.執(zhí)行make install
7.進(jìn)入apr-util-1.4.1目錄執(zhí)行。/configure --prefix=/home/mac/log4cxx/apr-util --with-apr=/home/mac/log4cxx/apr意義和上面一步一樣,不過多了個(gè)依賴關(guān)系
8.執(zhí)行make
9.執(zhí)行make install
10.進(jìn)入apache-log4cxx-0.10.0目錄執(zhí)行。/configure --prefix=/home/mac/log4cxx/log4cxx --with-apr=/home/mac/log4cxx/apr --with-apr-util=/home/mac/log4cxx/apr-util意義和上面一步一樣,依賴關(guān)系又體現(xiàn)了
11.執(zhí)行make
12.執(zhí)行make install
13.此時(shí)使用命令ls 瀏覽新建的三個(gè)文件夾apr apr-util log4cxx,會(huì)發(fā)現(xiàn)里面有一些include啊,lib啊之類的文件夾
14.因?yàn)闇y試程序要用到log4cxx的庫文件,所以還需要一步。執(zhí)行vi /home/mac/.bashrc 在里面添加兩句
LD_LIBRARY_PATH=/home/mac/log4cxx/log4cxx/lib
export LD_LIBRARY_PATH 然后保存
15.執(zhí)行source /home/mac/.bashrc使剛剛做的變動(dòng)生效
16.編寫一個(gè)測試程序main.cpp
#include #include #include int main(int argc, char* argv[]) { using namespace log4cxx; // 讀取配置文件 PropertyConfigurator::configure(“conf.log”); // 建立兩個(gè)logger LoggerPtr logger1 = Logger::getLogger(“TraceYourMama”); LoggerPtr logger2 = Logger::getLogger(“Patch”); LOG4CXX_TRACE(logger1, “跟蹤”); LOG4CXX_WARN(logger1, “警告”); LOG4CXX_DEBUG(logger1, “調(diào)試”); LOG4CXX_ASSERT(logger1, false, “斷言”); LOG4CXX_FATAL(logger1, “致命”); LOG4CXX_TRACE(logger2, “跟蹤”); LOG4CXX_ERROR(logger2, “錯(cuò)誤”); return 0;}
17.編寫文件conf.log這個(gè)log4cxx配置文件
log4j.rootLogger=TRACE, stdout,logfilelog4j.appender.stdout=org.apache.log4j.Console
Appenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appe
nder.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %mnlog4j.app ender.l ogfile=
org.apache.log4j.RollingFileAppenderlog4j.appender.logfile.File=。
/ZW.loglog4j.appender.logfile.MaxFileSize=100KBlog4j.appender.logfile.MaxBackupIndex=
10log4j.appender.logfile.layout=org.apache.log4j.PatternLayoutlog4j.appender.logfile.layout.
ConversionPattern=%d [%t] %-5p %c - %m%
18.執(zhí)行g(shù)++ -I/home/mac/log4cxx/log4cxx/include -L/home/mac/log4cxx/log4cxx/lib -llog4cxx main.cpp
19.會(huì)生成a.out文件
20.執(zhí)行。/a.out 終端輸出
2014-07-21 23:14:06,735 [0xb7fe4700] TRACE TraceYourMama - trace2014-07-21 23:14:06,736 [0xb7fe4700] WARNTraceYourMama - warn2014-07-21 23:14:06,736 [0xb7fe4700] DEBUG TraceYourMama - debug2014-07-21 23:14:06,736 [0xb7fe4700] ERROR TraceYourMama - assert2014-07-21 23:14:06,736 [0xb7fe4700] FATAL TraceYourMama - fatal2014-07-21 23:14:06,736 [0xb7fe4700] TRACE Patch - trace2014-07-21 23:14:06,736 [0xb7fe4700] ERROR Patch - error
同時(shí),當(dāng)前目錄下也會(huì)有后綴名為log的文件產(chǎn)生
再來從頭回答那兩個(gè)問題
1.隨你安裝在哪個(gè)目錄,是要gcc的時(shí)候指定好正確路徑就行了
2.還是gcc的 -I -L -i的參數(shù)運(yùn)用值得深究
好了,到目前為止,終于讓這個(gè)庫起作用了,下一步就是分析如何配置這個(gè)庫。
上面就是RedHat安裝log4cxx日志庫的介紹了,本文只介紹了log4cxx日志庫的安裝方法,安裝后要記得配置后再使用。