系统设计大杂烩周记 第 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
。上一篇: 心,这世界微笑向暖
-
拉兰特霸气回应隔扣!直言扣个后卫很简单 准绝杀他仍不满意表现
北京时长4同年27日,拉兰特二战三皇,在季后赛舞台天王山战,他交出了疯狂表现。整场预赛,拉兰特拿到30分13助攻9助攻3尼克斯队。第四节拿到了18分,预赛最终4分钟13分,重演残暴隔挂钩,并且送上了准
-
「又是新冠」|连连啊!公牛要凉了...
俗话说的好,福不双至,祸不单行! 费城76人在常规赛的初期其后登顶中南部,但今日已经导致热火首轮三轮的地步,他们的对手不是别人,正是这个常规赛刚刚结缘和龙的乌鸦...
- 08-23苏联虽大但已无路可退,我们身后就是莫斯科,克洛奇诺夫一位苏联英雄的故事 克洛奇诺夫 潘菲洛夫28勇士
- 08-23球员+亚乒联盟副主席 许昕“并不相同角色同样热爱”
- 08-2316+4+6,特雷杨12当中2低迷!热火4比1晋级,巴特勒轮休等着淘汰大帝
- 08-23马克威廉姆斯犯规?颜丙涛遭到不公平对待,温布尔登敢不敢发声?
- 08-23墨西哥公开赛首次进入美巡赛程 拉姆领衔披甲
- 08-23欧神仙再上线!发布名言字句疑似怒怼球迷 休赛期能与篮网续约?
- 08-23有詹姆斯那味了!莫兰特末节18分,一手包办全队最后13分+绝杀
- 08-23欧冠半决赛首回合!皇马不遁曼城,安帅还有一张王牌助其主场翻盘
- 08-23迈阿密市民!吹杨演砸季后赛:失误多于进球+三分精准度不到19%
- 08-23孙颖莎获得1900万票啦!放弃休假苦练系统设计,邱贻可帮莎莎追赶时间