zlog是个概念清晰的日志函数库,在效率、功能、安全性上大大超过了log4c,并且是用c写成的,具有比较好的通用性
1.安装
下载 https://github.com/downloads/HardySimpson/zlog/zlog-latest-stable.tar.gz
解压, 安装
1 |
$ tar -zxvf zlog-0.9.0. tar .gz |
2 |
$ cd zlog-0.9.0/ |
3 |
$ ./configure -- enable - test # 把测试程序和案例也编译下,反正不安装 |
4 |
$ make |
5 |
$ sudo make install |
6 |
# 默认安装在/usr/local/下,包括libzlog.so和zlog.h |
把测试程序和案例也编译下,反正不安装
默认安装在/usr/local/下,包括libzlog.so和zlog.h
2.介绍一下配置文件
zlog里面有三个重要的概念,category,format,rule
分类(Category)用于区分不同的输入,代码中的分类变量的名字是一个字符串,在一个程序里面可以通过获取不同的分类名的category用来后面输出不同分类的日志,用于不同的目的。
格式(Format)是用来描述输出日志的格式,比如是否有带有时间戳, 是否包含文件位置信息等,上面的例子里面的格式simple就配置成简单的用户输入的信息+换行符。
规则(Rule)则是把分类、级别、输出文件、格式组合起来,决定一条代码中的日志是否输出,输出到哪里,以什么格式输出。简单而言,规则里面的分类字符串和代码里面的分类变量的名字一样就匹配,当然还有更高级的纲目分类匹配。规则彻底解耦了各个元素之间的强绑定,例如log4j就必须为每个分类指定一个级别(或者从父分类那里继承),这在多层系统需要每一层都有自己的级别要求的时候非常不方便。
现在试着写配置文件,配置文件名无所谓,放在哪里也无所谓,反正在zlog_init()的时候可以指定
1 |
$ cat /etc/zlog.conf |
2 |