- zlog的下载与安装
附:动态库链接时、执行时搜索路径顺序 - zlog使用
- zlog实例
下载:
在http://hardysimpson.github.io/zlog/ 下载最新的zlog源码包 zlog-1.2.12.tar.gz。
编译与安装:
$tar -zxvf zlog-1.2.12.tar.gz
#解压
$cd zlog-1.2.12/
#进入目录
$make
#编译。在zlog-1.2.12/src/ 目录下生成libzlog.a 静态库和libzlog.so动态库。
$make install
#默认安装路径是/usr/local/ ; 或者make PREFIX=‘自己指定安装路径’ install。
#之后就可以将zlog-1.2.12/删掉。
$vi /etc/ld.so.conf
/usr/local/lib
$ldconfig
#保证libzlog.so在系统的动态链接库加载器可以找到的目录下
默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件,通常通过源码包进行安装时,如果不指定–prefix,会将库安装在/usr/local/lib目录下;当运行程序需要链接动态库时,提示找不到相关的.so库,会报错。也就是说,/usr/local/lib目录不在系统默认的库搜索目录中,需要将目录加进去。
1、首先打开/etc/ld.so.conf文件
2、加入动态库文件所在的目录:执行vi /etc/ld.so.conf,在"include ld.so.conf.d/*.conf"下方增加"/usr/local/lib"。
3、保存后,需要运行一下ldconfig,使所有的库文件都被缓存到文件/etc/ld.so.cache中,如果没做,可能会找不到刚安装的库。
动态库链接时、执行时搜索路径顺序:
- 编译目标代码时指定的动态库搜索路径;
- 环境变量LD_LIBRARY_PATH指定的动态库搜索路径;
- 配置文件/etc/ld.so.conf中指定的动态库搜索路径;
- 默认的动态搜索路径/lib;
- 默认的动态库搜索路径/usr/lib
zlog使用:
- log建议分级打印,严重问题error,一般问题warn,信息info,调试debug
- a.c文件中加头文件 #include “zlog.h”
- 编译:gcc a.c -lzlog
zlog实例:
-
zlog配置文件:
大部分的zlog的行为都取决于配置文件,比如把日志打到哪里去,用什么格式,怎么转档,都由配置文件来决定。
vim zlog.conf[formats] ms = "%d.%ms %m%n" us = "%d.%us %m%n" nu1 = "%m%n" nu2 = "%d(%m-%d %T) %-10V [%p:%F:%L] %m%n" nu3 = "%d(%m-%d %T) %-5c [%p:%F:%L] %m%n" [rules] my_cat.DEBUG "./log/system/%d(%F).STAT"; ms my_cat.DEBUG >stdout; ms my_cat2.INFO