1、zlog使用手册
http://hardysimpson.github.io/zlog/UsersGuide-CN.html
参考文章
https://blog.csdn.net/fangye945a/article/details/85955906
2、zlog配置文件
大部分的zlog的行为都取决于配置文件,比如把日志打到哪里去,用什么格式,怎么转档,都由配置文件来决定。
# comments
[global]
strict init = true
buffer min = 1024
buffer max = 10KB
rotate lock file = /tmp/zlog.lock
#default format = "%d.%us %-6V (%c:%F:%L)->%m%n"
default format = "%d.%V [%F:%L]->%m%n"
file perms = 600
[levels]
TRACE = 10
CRIT = 130, LOG_CRIT
[formats]
simple = "%m%n"
normal = "%d %m%n"
[rules]
my_cat.* "device.log", 1KB * 1 ~ "device.log.#r";
#my_cat.* "./my_cat.log";
my_cat.* >stdout;
这里不知道为啥,在rules去掉后面的输出,只保留*.* "aa.log", 1KB * 1 ~ "aa.log.#r";,当第一个文件满,进行备份的时候,会运行出错
3、zlog测试.c文件
#include <stdio.h>
#include "zlog.h"
#define log_fatal(fmt,arg...) dzlog_fatal(fmt,##arg)
#define log_notice(fmt,arg...) dzlog_notice(fmt,##arg)
#define log_info(fmt,arg...) dzlog_info(fmt,##arg)
#define log_debug(fmt,arg...) dzlog_debug(fmt,##arg)
#define log_warn(fmt,arg...) dzlog_warn(fmt,##arg)
#define log_error(fmt,arg...) dzlog_error(fmt,##arg)
int main(int argc, char** argv)
{
int rc;
rc = dzlog_init("zlog.conf", "my_cat");
if (rc) {
printf("init failed\n");
return -1;
zlog_fini();
}
while(1)
{
log_info("hello, zlog");
log_debug("hello, zlog");
log_warn("hello, zlog");
log_error("hello, zlog");
sleep(1);
}
zlog_fini();
return 0;
}