log4cxx日志库RedHat下安装

今天领导交给我一个任务:把log4cxx库在Redhat系统上面安装起来

首先,我得到信息,安装这个库一共需要三个软件

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 <log4cxx/logger.h>
#include <log4cxx/logstring.h>
#include <log4cxx/propertyconfigurator.h>

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, logfile

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=./ZW.log
log4j.appender.logfile.MaxFileSize=100KB
log4j.appender.logfile.MaxBackupIndex=10
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.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 - trace
2014-07-21 23:14:06,736 [0xb7fe4700] WARN  TraceYourMama - warn
2014-07-21 23:14:06,736 [0xb7fe4700] DEBUG TraceYourMama - debug
2014-07-21 23:14:06,736 [0xb7fe4700] ERROR TraceYourMama - assert
2014-07-21 23:14:06,736 [0xb7fe4700] FATAL TraceYourMama - fatal
2014-07-21 23:14:06,736 [0xb7fe4700] TRACE Patch - trace
2014-07-21 23:14:06,736 [0xb7fe4700] ERROR Patch - error

同时,当前目录下也会有后缀名为log的文件产生

再来从头回答那两个问题

1.随你安装在哪个目录,是要gcc的时候指定好正确路径就行了

2.还是gcc的 -I -L -i的参数运用值得深究

好了,到目前为止,终于让这个库起作用了,下一步就是分析如何配置这个库。

log4cxx日志库RedHat下安装

时间: 2024-11-05 18:58:08

log4cxx日志库RedHat下安装的相关文章

Redhat下安装配置R程序

主要是我在Redhat下开始尝试使用R时遇到的一些基本的问题,参考了很多文章,把自己的过程记录一下,留存. 1.       安装R 在Redhat下安装R程序有两种方式.一是下载编译安装,而是用yum安装. yum安装 如果你的yum源能正常使用那么一条命令就能搞定: yum install R 源码安装 你可能需要自己定义一些安装项,那么可以选择源码安装.但是yum可以自动帮你下载安装依赖包,直接源码安装的时候需要确定所有依赖的安装包都已经正常安装了.R安装前需要安装的一些依赖包主要是gcc

Log4cxx日志库的使用

简介 在代码量比较小的程序里追踪bug可以直接进行断点调试;但对于较大的软件系统这通常是一个低效的办法,尤其是软件系统包含UI交互的时候,断点常常使得UI卡死,使得追踪bug变得难以进行;另一种情形则是在多线程或者多进程的应用场景里,断点也很难发挥作用;一般书上讲printf是最好的调试方法,通过在关键的地方使用printf可以把软件运行的内部状态暴露出来,从而定位可能存在的问题,但带UI的程序通常是不能显示printf输出的,对于所有这些情况,日志都是更好的选择. 除了上边提到的部分场景没有日

RedHat下安装Python开发环境

Linux RedHat下安装Python2.7.pip.ipython环境.eclipse和PyDev环境 准备工作,源Python2.6备份: 根据which python具体目录而定,进行备份 mv /usr/local/bin/python cd /usr/local/bin/python2.6 或mv /usr/bin/python /usr/bin/python2.6 修改使用python2.6的程序配置,比如yum vim /usr/bin/yum #!/usr/bin/pytho

centos和redhat下安装postgreSQL

1.确定你要下载的版本:下载地址 2.进入你存放下载文件的目录运行wget http://yum.postgresql.org/9.2/redhat/rhel-5-i386/pgdg-centos92-9.2-6.noarch.rpm,我的是32bit的centos5,其他版本可以在上面的路径中找到相关的链接 3.运行命令 rpm -ivh pgdg-centos92-9.2-6.noarch.rpm 安装 4.运行命令 yum install postgresql92-server 安装ser

centos和redhat下安装nginx最新版

在ubuntn下通过agp-get install nginx就可以按照最新版本的nginx,很方便 在ctentos和redhat下需要添加yum 仓库才能安装最新版的nginx,在/etc/yum.repos.d/目录下新建nginx.repo 文件输入以下内容就可以了:[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=0enabled=1 之后运行yum

[学习OpenCV攻略][016][RedHat下安装OpenCV]

安装环境 操作系统: Red Hat Enterprise Linux Server 6.3 相关软件: OpenCV-2.3.1a.tar.bz2.cmake-3.5.1.tar.gz 下载地址: OpenCV: http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.3.1/OpenCV-2.3.1a.tar.bz2 CMake: https://cmake.org/files/v3.5/cmake-3.5.1

RedHat下安装OPENCV

1.解压 unzip opencv-2.4.9.zip 2.进入目录,cmake CMakeLists.txt  生成build文件 3.使用命令 make 编译 4.使用命令 make install 安装 安装完成后Opencv的头文件在 /usr/local/include 目录下 Opencv的库文件在 /usr/local/lib 目录下 5.cd /etc/ld.so.conf.d 进入库文件环境变量配置文件夹 6.新建文件  vi opencv.conf 添加 /usr/local

redhat下安装LAMP架构

LAMP指的Linux.ApacheHTTP 服务器,MySQL数据可 和PHP 的第一个字母,是用来建立web应用的一个平台.一. 手工编译安装apache1.将安装apache需要用到的包,解压到/opt目录下命令如下:tar xzvf http-2.4.2.tar.gz -C /opttar xzvf apr-1.4.6.tar.gz -C /opt (支持Apache上层应用跨平台,提供底层接口库)tar xzvf apr-util-1.4.1.tar.gz -C /opt安装好之后可以

redhat下安装mysql 5.6.20,解压zip包,查看已经安装过的mysql,卸载rpm安装包,安装mysql服务器端和客户端,修改mysql用户名,登陆mysql,启动关闭mysql

 1 将相关的mysql rpm包上传到redhat上 2  我的电脑是Redhat 6.*版本,所以这里使用上面一个 3  解压zip包 4  安装以下几个rpm MySQL-client-advanced-5.6.20-1.el6.x86_64.rpm MySQL-server-advanced-5.6.20-1.el6.x86_64.rpm 5  查看已经安装过的mysql rpm –aq | grep mysql 结果: mysql-libs-5.1.66-2.el6_3.x86_6