zoukankan      html  css  js  c++  java
  • log4c 编译安装简单小结(ubuntu12)

    1 下载源码,解压 (假定解压到了当前用户的根目录下,位置是~/log4c-1.2.3)

    2 编译安装log4c(指定--prefix极其重要,如果没有指定到/usr下会有一堆麻烦事,还有,不能按照他的README里说的,指定到/path/of/installation,因为这样真的会在根目录下建立这样的目录)

    cd ~
    tar -zxvf log4c-1.2.3.tar.gz
    mkdir build; cd build
    ../log4c-1.2.3/configure --prefix=/usr/local/log4c
    make
    make install

    3 编译log4c自带的例子

    cd ~/log4c-1.2.3/examples/helloworld
    gcc -o hello helloworld.c -llog4c -I /usr/local/log4c/include -L /usr/local/log4c/lib
    ./hello

    编译成功,但是执行提示找不到liblog4c.so.3 (这就是没把程序装到/usr下的孽啊)找了一下,这个文件就在/usr/local/log4c/lib下

    4 配置log4c的lib所在目录

    编辑/etc/ld.so.conf 发现他的内容只是要求加载 /etc/ld.so.conf.d/下的conf,进入该目录查看,发现 /etc/ld.so.conf.d/libc.conf文件,在里面追加/usr/local/log4c/和/usr/local/log4c/lib (以行分隔,共两行,其实我不确定是哪行生效了,下次可以再试下)

    5 立即生效

    sudo ldconfig

     6 配置文件

    此时执行hello,程序无任何输出

    cp ~/log4c-1.2.3/examples/log4crc ~/log4c-1.2.3/examples/helloworld/log4crc 

    并且在log4crc文件里log4c节点里追加一行配置(helloworld.c源码里指定的配置)

    <category name="log4c.examples.helloworld" priority="debug" appender="stdout"/>

     7 回到hello所在目录,运行

    执行hello成功(该例子是在屏幕上打印一行日志)

    $ ./hello 
    [stdout] ERROR    log4c.examples.helloworld - Hello World!

     8 输出日志到文件

    修改log4crc的文件,将添加的log4c.examples.helloworld节点appender指定为日志文件名字,例如我指定了aaa

    <category name="log4c.examples.helloworld" priority="debug" appender="aaa"/>

    执行hello 在hello所在目录下生成一个文件aaa,打开里面的内容是:

    [aaa] ERROR    log4c.examples.helloworld - Hello World!
  • 相关阅读:
    吴恩达 机器学习EX1学习笔记 MATLAB实现
    二分法解具有单调性的方程
    利用new定位运算符进行高效的数组动态增扩
    单循环链表基本操作及部分可能出现的细节问题
    数组中某元素的删除
    C# 实现可克隆(ICloneable)的类型
    Python学习十三
    Python学习十二
    Python学习十一
    Python学习十
  • 原文地址:https://www.cnblogs.com/code-style/p/3223428.html
Copyright © 2011-2022 走看看