当前位置:首页 >> 家电
家电

系统设计大杂烩周记 第 7 期:zlog

2025-08-08 12:20

:自行决定头PDF正向-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备有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 >stdout

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

formats具体的反转大写字母如(简要可查阅应可用手册):

法则就是把界定、级别、反转形同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人在常规赛的初期其后登顶中南部,但今日已经导致热火首轮三轮的地步,他们的对手不是别人,正是这个常规赛刚刚结缘和龙的乌鸦...

友情链接