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日志库的安装方法,安装后要记得配置后再使用。

linux下编译和安装log4cxx,RedHat如何安装log4cxx日志库相关推荐

  1. linux 保存编译log,(转)Linux下编译安装log4cxx

    一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库.功能很不错.下面记录下它的编译和安装过程. 第一步安装apr-1.3.8,顺序不能错,它必须首 ...

  2. linux iptables 编译,Linux下编译安装iptables

    Linux下如何编译安装iptables实例: 先卸载系统已经安装的iptables,卸载前需备份三个文档:iptables启动脚本,iptables-config配置文档,以及已经建立好的iptab ...

  3. linux如何编译boost指定库,linux下编译安装boost库

    linux下编译安装boost库 先看一下系统环境 Linux o-pc 3.19.0-22-generic #22-Ubuntu SMP Tue Jun 16 17:15:15 UTC 2015 x ...

  4. java libpcap,Linux下编译安装libpcap

    要做Sniffer了,先在Linux下编译一下libpcap 1.编译安装flex #libpcap 1.1要求flex必须在2.4.6及以上 wget http://prdownloads.sour ...

  5. linux下编译libuv,linux下libuv库安装教程

    下载并编译libuv libuv需要自己手动下载源码,并手动编译. 当前目录为:/home/xlz/test/github/,在后面,会用$PATH来代替,我的系统的Debian8,64bit. $g ...

  6. Linux 下编译并安装配置 Qt

    本文介绍的是Linux 下编译并安装配置 Qt,最近准备做 Nokia 的 Symbian,Maemo 下触摸屏开发.考虑到程序的跨平台可移植性,最终选择使用 Qt 开发.相对来说,国内关于 Qt 相 ...

  7. Linux 下编译、安装、配置 QT

    打算做嵌入式图像处理,计划方案嵌入式Linux+OpenCV+QT,昨天简单入门OpenCV今天看看QT,QT就先弄Linux下面的,回家之前争取把基本的摸通,然后能在板子上跑起来. 软件环境 Lin ...

  8. linux3.10.53编译,根据官方文档在Linux下编译安装Apache

    根据官方文档在Linux下编译安装Apache 前言 永远记住官方文档才是最准确的安装手册,这篇文章仅为对官方文档的解读和补充,学习提升务必阅读官方文档: http://httpd.apache.or ...

  9. Apache 配置------FastCGI方式使用PHP(包含:linux下编译安装fmod_fcgid,配置apache以支持FastCGI)

    本文用于记录Apache配置 FastCGI方式运行PHP(使用非线程安全版本) 下文包含如下内容: 1 linux下编译官网提供的最新版fmod_fcgid源码为os,方便linux或者window ...

  10. linux php7.2编译安装,Linux下编译安装php7.2

    准备工作 所有操作需要在root用户下 安装路径: /usr/local/php 安装PHP 首先要安装如下依赖包 $ yum install -y gcc gcc-c++  make zlib zl ...

最新文章

  1. 《Python面向对象编程指南》——1.2 基类中的__init__()方法
  2. 很抱歉,这场大会我们没法卖票给你了
  3. android studio 控件提示大写
  4. Develop chrome extension study
  5. [转]那些年我还不懂:IList,ICollection,IEnumerable,IEnumerator,IQueryable
  6. 误打误撞的模板字符串
  7. php 里如何进行时间比较,PHP实现时间比较和时间差计算的方法示例
  8. python ix loc iloc_关于python:.ix()是否总是比.loc()和.iloc()更好,因为它速度更快并且支持整数和标签访问?...
  9. Win10 第三方浏览器无法上网或者上网速度慢 的终极解决方案
  10. loadruner知识点小结
  11. 【爬虫】根据水文资料(水位/流量)爬取地理空间数据云遥感影像信息
  12. chia矿池积点是什么-chia矿池接入的常见问题
  13. 别墅家庭无线WiFi覆盖解决方案
  14. 第二届北京职教国际青年创新创业技能大赛启动
  15. Android手机与PC端进行通信
  16. 最强思维导图训练营教程
  17. 魔众抽奖系统 v2.0.0 上线超级砸金蛋抽奖方式
  18. 目前几种常见穿NAT的方法分析
  19. 彗星http_大气与彗星
  20. mpt3工具箱学习记录

热门文章

  1. (附源码)anjule客户信息管理系统 毕业设计 181936
  2. 命令行下调整linux桌面屏幕的亮度
  3. ArcGIS制作全球地图并生成纬度统计分布线
  4. FOC控制-以SVPWM理论控制矢量磁场
  5. 抖音 根据 phone_number 找到 dy号和uid
  6. 传奇服务器如何修改装备,架设传奇私服时怎样修改装备图标
  7. python职能-python运维工程师主要干什么
  8. 《数论概论》读书笔记(第二章)勾股数组
  9. 小米米家打印机,打印状态提示出错无法正常打印,怎么办?
  10. css实现单边斜切效果