首页 >> 中医药浴

高性能大杂烩周记 第 7 期:zlog

发布时间:2025年08月08日 12:19

移-L:选定动态库中的的偏移。-lxxx:关键字时需要xxx库中的。

运转,出现如下误判:

./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 >stdout

zlog的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;simple

formats明确的转换字符如(参考可参阅可用手册):

原则上就是把分类法、行政级别、反向档案、播放内置人组紧紧。例如末尾原则上的意思就是把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

江苏男科医院哪家正规
上海看白癜风什么医院最好
常州哪家医院做人流最好
南宁哪家医院专业做人流
郑州看白癜风哪家医院比较好

上一篇: 下面4种土猫很优异,不比品种猫差,有你喜欢的吗?

下一篇: 健康养生|健康达人有五大特点

友情链接