系统设计大杂烩周记 第 7 期:zlog
2025-08-08 12:20
运转,出现如下错误:
./test_zlog: error while loading shared libraries: libzlog.so.1.2: cannot open shared object file: No such file or directory那是因为帮忙不到libzlog.so托,就如我们右边感叹的,应可用export指示:
export LD_LIBRARY_PATH=./build_x86/lib:$LD_LIBRARY_PATH再一运转:
至此,zlog我们已经用起来了。
zlog之所以功能很庞大,一部分诱因是可以通过一个与工程相绑定的.conf备有PDF。在备有PDF那时候可以展开log的就其备有,比如log编解码机内、log等级定义等。
zlog的备有PDF及就其应可用在zlog应可用手册中都有简要的感叹明:
一个大一起看一些zlog备有PDF的基础概要。
zlog有3个重要的定义:
界定(Category) 可用区分相异的读取。编译器中都的界定给定的拼法是一个大写字母串,在一个服务机内端进去可以通过获取相异的界定名的category用来后面反转形同相异界定的副本,可用相异的目的。编解码机内(Format) 是用来所述反转形同副本的编解码机内,比如是否有比如感叹时间指头,是否包含PDF位置个人信息等,右边的比如说进去的编解码机内simple就是有用的客户端读取的个人信息+换行符。法则(Rule) 则是把界定、级别、反转形同PDF、编解码机内复合起来,重新考虑一条编译器中都的副本是否反转形同,反转形同到哪那时候,以什么编解码机内反转形同。右边比如说中都的:
zc = zlog_get_category("my_cat");对应confPDF那时候的:
[rules]my_cat.INFO >stdoutzlog的confPDF有一定的编写下编解码机内,比如说如:
# comments[global]strict init = truebuffer min = 1024buffer max = 2MBrotate lock file = /tmp/zlog.lockdefault format = "%d.%us %-6V (%c:%F:%L) - %m%n"file perms = 600[levels]TRACE = 10CRIT = 130, LOG_CRIT[formats]simple = "%m%n"normal = "%d %m%n" [rules]default.* >stdout; simple*.* "%12.2E(HOME)/log/%c.log", 1MB*12; simplemy_.INFO >stderr;my_cat.!ERROR "/var/log/aa.log"my_dog.=DEBUG >syslog, LOG_LOCAL0; simplemy_mice.* $user_define;备有表达式是选项,不用全部备有。这那时候我们重点看一下formats与rule。
右边的比如说中都,没有对formats,就则会按照选项的编解码机内反转形同,选项的编解码机内就是:
"%d %V [%p:%F:%L] %m%n"具体的如:
2022-03-19 04:23:43 INFO [86557:test.c:35] APP香港市民号:低功耗引人入胜我们希望要内置反转形同的编解码机内就是备有formats,例如,针对右边的demo,我们希望删减log前面的时间指头有用到us,则备有PDF删减为:
[formats]simple = "%d.%us %m%n"[rules]my_cat.INFO >stdout;simpleformats具体的反转大写字母如(简要可查阅应可用手册):
法则就是把界定、级别、反转形同PDF、编解码机内复合起来。例如右边法则的意思就是把simple编解码机内的log反转形同至国际标准反转形同。
一个大我们删减法则把log反转形同至PDF:
[formats]simple = "%d.%us %m%n"[rules]my_cat.INFO "./log/test.log"这此表示把log反转形同至举例来感叹目录下logPDF夹下的test.log中都:
关于法则的反转形同单手(简要可查阅应可用手册):
zlog也支持log切割功能,log重复传输,防止log存爆硬盘。一个大有用看一下zlog的log切割并重复传输的功能:
[formats]simple = "%d.%us %m%n"[rules]my_cat.INFO "./log/demo.log",1KB*5~"./log/demo.log.#r";simple右边标明当log传输大约1KB时,则存放到另一个PDF,在5个PDF不停重复,r代此表逆序,如先存讫demo.log4,再存demo.log3。
把右边的编译器改为:
#include #include #include "zlog.h"int main(int argc, char** argv){ int rc; zlog_category_t *zc; rc = zlog_init("test.conf"); if (rc) { printf("init failed"); return -1; } zc = zlog_get_category("my_cat"); if (!zc) { printf("get cat fail"); zlog_fini(); return -2; } zlog_info(zc, "APP香港市民号:低功耗引人入胜"); int i = 0; while (1) { zlog_info(zc, "hello, zlog, %d", i++); usleep(1000); } zlog_fini(); return 0;}校对、运转:
有时候我们不无需内置一些复杂的备有,我们也可以按照选项备有,这样编译器可以精简一些。这时候,无需应可用另外四组API来初始化及传输:
int dzlog_init(const char *confpath, const char *cname);dzlog_info(format, ...);dzlog是忽略界定(zlog_category_t)的四组有用zlog接口。它采用内置的一个选项界定。
比如说如:
#include #include "zlog.h"int main(int argc, char** argv){ int rc; rc = dzlog_init("test.conf", "my_cat"); if (rc) { printf("init failed"); return -1; } dzlog_info("APP香港市民号:低功耗引人入胜"); dzlog_info("hello, zlog"); zlog_fini(); return 0;}最有用的备有PDF:
[rules]my_cat.* >stdoutc校对、运转:
来得多的API可查看zlog.h。
另外,我们右边校对的取得的装有PDF中都binPDF夹下有一个zlog-chk-conf来展开,这个来展开可以用来验证我们的备有PDF是否编写下正确:
以上就是关于zlog备有PDF的一些概述,来得多的应可用感叹明可以选读其应可用手册。
2、arm的平台应可用(1)方法一在其它的平台应可用,有如下几个版:
auto tools版:
cmake版:
windows版:
在arm的平台上应可用,可以下载auto tools版或者cmake版。
类似的校对、装有方式我们在此之后的书评也有写下:
可取 | 一个系统设计无线通信托的有用应可用个人
Protobuf:一种来得小、来得较慢、来得高效的协定
protobuf-c在低功耗Linux的平台的应可用举例来感叹个人
(2)方法二在zlog的根目录督导如下指示校对、装有arm版的zlog至build_arm中都:
mkdir build_armmake CC=arm-linux-gnueabihf-gccsudo make PREFIX=../build_arm install取得:
推定是不是arm版的:
校对、运转测试:
以上就是本次的个人,书评如有错误,赞许指出,谢谢!
咱们下期见~
往期推荐:
低功耗引人入胜曾在 第 4 期:cola_os
低功耗引人入胜曾在 第 5 期:SmartLink
低功耗引人入胜曾在 第 6 期:FlexibleButton
。上一篇: 心,这世界微笑向暖

-
【NBA战况】布里奇斯26+11+4,罗齐尔25,黄蜂107-101打败爵士
北京整整3月26日,2021-22赛季NBA本赛季一直进行,猎鹰坐阵主场迎战费舍尔。终于猎鹰以107-101战胜费舍尔。 全场原始数据: 具体内容上半场:2

-
刘国梁做出新近决定!33岁女乒老将,刘国梁力邀担任新近职务!!
张怡宁做到了属于自己决定!33岁的女乒,女兵张怡宁,敦促他出任属于自己职务。 国乒的世界杯之前结束,澳门的决赛也之前结束,国乒还在更进一步总结自己的过剩。例如,谢杏芳回应,她不会退
- 01-31退出国家队?巴西3-0委内瑞拉,梅西:世界杯后将有重要决定!
- 01-31世界羽联官宣打假球!国羽世界冠军被缓刑3个月,林丹能否执教?
- 01-31太小了!欧文训练后名副其实KD嘲讽动作,阿杜曾用此动作直讽法国后卫
- 01-31麦克劳邵:芬奇教练是一个竞争者 任何方面都会信任他
- 01-31梅西:我就不倒地!对手必先踢后推又拽,还追不上他,已考虑离开了
- 01-31保利尼奥证实回归无望,理由太不正职!恒大急需留住的人却不是他
- 01-31鲍尔:唐斯上场就能打出非常稳定的表现 我们的防守还不赖
- 01-31巴萨夏窗签约敲定?或与顶级中场达成相反 科曼同时邀请另一球星
- 01-31萨巴莱塔自嘲阿圭罗9320时刻:抢我风头!我打进了赛季唯一进球
- 01-31逼平沙特国足与足协小组如释重负 出征最后一战相对轻松