RedHat如何安装log4cxx日志库
学习啦在线学习网 log4cxx日志库是一种动态库,用于记录c++的日志,那么RedHat系统下要如何安装log4cxx日志库呢?下面学习啦小编就给大家介绍下RedHat安装log4cxx日志库的步骤,感兴趣的朋友不妨来了解下吧。
首先,我得到信息,安装这个库一共需要三个软件
学习啦在线学习网 apr-1.4.6.tar.gz
学习啦在线学习网 apr-util-1.4.1.tar.gz
学习啦在线学习网 apache-log4cxx-0.10.0.tar.gz
安装顺序是从上到下的,为什么,因为后者的安装依赖前者。
我整理了一下思路,有如下几个问题:
1.安装log4cxx库到哪个目录?
2.安装好之后怎么用?
我首先想到的是网上查资料,结果很多结果都显示:
1.针对问题1,99%的都安装在/usr/local目录下(我的权限是普通用户,安装在/usr/local目录下需要root权限,我顿时打了个寒战,万一我安装错了,服务器暴了怎么办)
学习啦在线学习网 2.针对问题2,因为99%的都是安装在/usr/local目录下,结果就是随便提供一个测试程序,直接来g++ test.cpp 其他简单参数
学习啦在线学习网 我想了又想,最终按照第一步做了(在此之前我向领导要了管理员权限),安装好后,没什么问题,不过,接下来,在进行写程序测试的时候,关于log4cxx库的文件都找不到,我崩溃了,这和网上说的不一样啊。
步骤:
1.把三个压缩包放置到一个你喜欢的目录下,比如/home/mac/log4cxx这个目录下
2.在/home/mac/log4cxx目录下解压三个压缩包得到三个文件夹(解压缩命令tar zxvf 你的目标)
3.在/home/mac/log4cxx目录下新建三个文件夹apr apr-util log4cxx作为三个包的安装目录(执行make install时的安装目录)
4.首先进入apr-1.4.6目录执行。/configure --prefix=/home/mac/log4cxx/apr配置apr包的安装目录为/home/mac/log4cxx/apr
5.执行make
6.执行make install
7.进入apr-util-1.4.1目录执行。/configure --prefix=/home/mac/log4cxx/apr-util --with-apr=/home/mac/log4cxx/apr意义和上面一步一样,不过多了个依赖关系
8.执行make
9.执行make install
10.进入apache-log4cxx-0.10.0目录执行。/configure --prefix=/home/mac/log4cxx/log4cxx --with-apr=/home/mac/log4cxx/apr --with-apr-util=/home/mac/log4cxx/apr-util意义和上面一步一样,依赖关系又体现了
学习啦在线学习网 11.执行make
12.执行make install
学习啦在线学习网 13.此时使用命令ls 浏览新建的三个文件夹apr apr-util log4cxx,会发现里面有一些include啊,lib啊之类的文件夹
学习啦在线学习网 14.因为测试程序要用到log4cxx的库文件,所以还需要一步。执行vi /home/mac/.bashrc 在里面添加两句
LD_LIBRARY_PATH=/home/mac/log4cxx/log4cxx/lib
学习啦在线学习网 export LD_LIBRARY_PATH 然后保存
学习啦在线学习网 15.执行source /home/mac/.bashrc使刚刚做的变动生效
16.编写一个测试程序main.cpp
#include #include #include int main(int argc, char* argv[]) { using namespace log4cxx; // 读取配置文件 PropertyConfigurator::configure(“conf.log”); // 建立两个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;}
学习啦在线学习网 17.编写文件conf.log这个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.执行g++ -I/home/mac/log4cxx/log4cxx/include -L/home/mac/log4cxx/log4cxx/lib -llog4cxx main.cpp
学习啦在线学习网 19.会生成a.out文件
20.执行。/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
同时,当前目录下也会有后缀名为log的文件产生
再来从头回答那两个问题
学习啦在线学习网 1.随你安装在哪个目录,是要gcc的时候指定好正确路径就行了
学习啦在线学习网 2.还是gcc的 -I -L -i的参数运用值得深究
学习啦在线学习网 好了,到目前为止,终于让这个库起作用了,下一步就是分析如何配置这个库。
上面就是RedHat安装log4cxx日志库的介绍了,本文只介绍了log4cxx日志库的安装方法学习啦在线学习网,安装后要记得配置后再使用。