当前位置:网站首页>C语言日志库zlog基本使用
C语言日志库zlog基本使用
2022-07-03 10:02:00 【B!GGer.】
1、zlog的下载、编译与安装
git clone https://github.com/HardySimpson/zlog.git
vim src/makefile
设置安装路径PREFIX
设置工具链CC
编译问题:
relocation R_X86_64_PC32 against symbol `zlog_conf_del'......recompile with –fPIC
解决方法:REAL_CFLAGS之前增加CFLAGS += -fPIC
make
make install
2、使用手册
http://hardysimpson.github.io/zlog/UsersGuide-CN.html
3、参考配置
[global]
strict init = true
reload conf period = 0
buffer min = 1024
buffer max = 2MB
rotate lock file = self
default format = "%d(%F %T.%l) %-6V (%c:%F:%L) - %m%n"
file perms = 666
fsync period = 1K
[levels]
#TRACE = 10
#CRIT = 130, LOG_CRIT
[formats]
simple = "%m%n"
normal = "%d [%V] [%U:%L] %m%n"
[rules]
test.* >stdout; normal
test_log.* "./test.log", 1KB*4 ~ "./test-%d(%Y%m%d).#2s.log"; normal
4、参考demo
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "zlog.h"
int main(int argc, const char *argv[])
{
int rc;
zlog_category_t *c;
rc = zlog_init("./zlog.conf");//初始化
if (rc)
{
printf("init failed\n");
return -1;
}
c = zlog_get_category("test_log");//获取test_log分类和对应的规则
if (!c)
{
printf("zlog_get_category failed\n");
zlog_fini();
return -2;
}
int i = 7;
zlog_info(c, "abcdecghilklmnopqrstuvwxyz:%d", i);//写日志
zlog_fini();//清理
return 0;
}
5、说明
[rules]
test_log.DEBUG "./test.log", 1KB*4 ~ "./test-%d(%Y%m%d).#2s.log"; normal
test_log:分类
DEBUG:日志等级
"./test.log", 1KB*4 ~ "./test-%d(%Y%m%d).#2s.log"; normal:具体规则
"./test.log":日志保存路径
1KB:每个日志文件的大小
4:最多保存4个日志文件
"./test-%d(%Y%m%d).#2s.log":文件转档设置(当日志文件满1KB时进行转档保存)
normal:设置的日志输出格式
边栏推荐
- Software testing redis database
- IIS修改配置信息后不生效
- Qt:qss custom qlineedit instance
- 可以写进简历的软件测试电商项目,不进来get一下?
- 面试题总结(2) IO模型,集合,NIO 原理,缓存穿透,击穿雪崩
- 1. Hal driven development
- Project management essence reading notes (VII)
- QT: QSS custom qtoolbutton instance
- The testing department of the company came to the king of the Post-00 roll, and the veteran exclaimed that it was really dry, but
- Do you really need automated testing?
猜你喜欢

I, a tester from a large factory, went to a state-owned enterprise with a 50% pay cut. I regret it

Lecture 1 number field

Overview of testing theory

Error installing the specified version of pilot

Qt:qss custom qscrollbar instance

Qt:qss custom qpprogressbar instance

历经一个月,终于拿到金蝶Offer!分享一下四面面经+复习资料

The five-year itch of software testing engineers tells the experience of breaking through bottlenecks for two years

做软件测试三年,薪资不到20K,今天,我提出了辞职…

Expandablelistview that can expand and shrink (imitating the list page of professional selection of Zhilian recruitment)
随机推荐
可以写进简历的软件测试电商项目,不进来get一下?
Lecture 1 number field
我对测试工作的一些认识(资深测试人员总结)
Imread change image display size
(二)进制
Summary of the history of Mathematics
软件测试工程师的5年之痒,讲述两年突破瓶颈经验
one hot 独热码
Solve the problem that pycharm Chinese input method does not follow
T5 attempt
历经一个月,终于拿到金蝶Offer!分享一下四面面经+复习资料
使用onvif协议操作设备
Hal - General
大厂技术专家:工程师如何提升沟通能力?
Software testing (test case) writing: vulgar, native and skillful
如何成为一名高级数字 IC 设计工程师(1-3)Verilog 编码语法篇:Verilog 行为级、寄存器传输级、门级(抽象级别)
Encapsulation attempt of network request framework of retro + kotlin + MVVM
Hal -- writing hardware drivers
Unity移动端游戏性能优化简谱之 画面表现与GPU压力的权衡
Summary of interview questions (2) IO model, set, NiO principle, cache penetration, breakdown avalanche