高性能大杂烩周记 第 7 期:zlog
发布时间:2025年08月08日 12:19
运转,出现如下误判:
./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配备档案。在配备档案中的可以透过log的特别配备,比如log播放内置、log等级定义等。
zlog的配备档案及特别可用在zlog可用手册中所有参考的感叹明:
上头两人看一些zlog配备档案的基础细节。
zlog有3个极为重要的概念:
分类法(Category) 用于辨别相同的输入。编译器中所的分类法数据类型的名字是一个codice_,在一个程序中;还有可以通过换取相同的分类法名的category用来末尾反向相同分类法的副本,用于相同的意在。播放内置(Format) 是用来描述反向副本的播放内置,比如是否有近似于时间段挥,是否构变成档案左边信息等,末尾的案例;还有的播放内置simple就是单纯的使用者输入的信息+换行符。原则上(Rule) 则是把分类法、行政级别、反向档案、播放内置人组紧紧,决定一条编译器中所的副本是否反向,反向到哪中的,以什么播放内置反向。末尾案例中所的:
zc = zlog_get_category("my_cat");对应conf档案中的的:
[rules]my_cat.INFO >stdoutzlog的conf档案有一定的执笔播放内置,案例如:
# 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] 网易政府会号:分析方法有硬件角度看我们就让订制反向的播放内置就是配备formats,例如,针对末尾的demo,我们想修订log前面的时间段挥可靠到us,则配备档案修订为:
[formats]simple = "%d.%us %m%n"[rules]my_cat.INFO >stdout;simpleformats明确的转换字符如(参考可参阅可用手册):
原则上就是把分类法、行政级别、反向档案、播放内置人组紧紧。例如末尾原则上的意思就是把simple播放内置的log反向至常规反向。
上头我们修订原则上把log反向至档案:
[formats]simple = "%d.%us %m%n"[rules]my_cat.INFO "./log/test.log"这指出把log反向至这两项录入下log档案夹下的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时,则存放到另一个档案,在5个档案来回尿素,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, "网易政府会号:分析方法有硬件角度看"); 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("网易政府会号:分析方法有硬件角度看"); dzlog_info("hello, zlog"); zlog_fini(); return 0;}非常单纯的配备档案:
[rules]my_cat.* >stdoutc解释内置、运转:
愈发多的API可拍照zlog.h。
另外,我们末尾解释内置的取得的内置档案中所bin档案夹下有一个zlog-chk-conf工具,这个工具可以用来解析我们的配备档案是否执笔正确:
以上就是关于zlog配备档案的一些介绍,愈发多的可用感叹明可以阅读其可用手册。
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
。江苏男科医院哪家正规上海看白癜风什么医院最好
常州哪家医院做人流最好
南宁哪家医院专业做人流
郑州看白癜风哪家医院比较好
下一篇: 健康养生|健康达人有五大特点
- 搞笑GIF趣图:主人,你的假动作太假了,是骗不让我的
- 搞笑GIF趣图:母亲:这就叫大母亲能屈能伸
- 短剧GIF趣图:丈夫:“哦,那是我酒后失言”
- 搞笑GIF趣图:丈夫:“买点酒喝完”
- 搞笑GIF趣图:你这是用了啥精彩动作,导致你肋骨骨折?
- 短剧GIF趣图:楚留香的弟弟是谁?
- 搞怪GIF趣图:女问:“你答应他了?”
- 短剧GIF趣图:“我认为酒里一定含有雄性激素”
- 短剧GIF趣图:佛对人说:我思故我在
- 笑到合不拢嘴的15个段子,幽默且当代,看完不笑来打我!
- "幽默笑话:今天上班听说女同事在闹前夫,应该不关俺的事吧?
- 短剧GIF趣图:这是一个悲伤的故事
- 冷笑话GIF趣图:这招抱摔太完美了
- 搞笑GIF趣图:这就是阿姨带孩子,坚强中学会成长