当前位置:网站首页>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:设置的日志输出格式
边栏推荐
- Internet Socket (非)阻塞write/read n个字节
- Balance between picture performance of unity mobile game performance optimization spectrum and GPU pressure
- 软件测试(测试用例)编写之俗手、本手、妙手
- First line of code kotlin notes
- How did I grow up in the past eight years as a test engineer of meituan? I hope technicians can gain something after reading it
- Using activity to realize a simple inputable dialog box
- File upload and download test point
- Solutions of n-ary linear equations and their criteria
- Android log system
- Empire CMS no thumbnail smart tag (e:loop) two ways to judge whether there is a titlepic
猜你喜欢
Error installing the specified version of pilot
Communication software development and Application
Game test related tests a hero's skills (spring moves are asked more questions)
My understanding of testing (summarized by senior testers)
Balance between picture performance of unity mobile game performance optimization spectrum and GPU pressure
The element form shows the relationship between elementary transformation and elementary matrix
. Net core - a queuing system for wechat official account
AMS Series 1 - AMS startup process
Qt:qss custom qscrollbar instance
Software testing e-commerce projects that can be written into your resume, don't you come in and get it?
随机推荐
Qt:qss custom qspinbox instance
Software testing redis database
glassfish org. h2.server. Shutdownhandler classnotfoundexception exception exception handling
redis那些事儿
Have you learned the new technology to improve sales in 2021?
Test what the leader should do
图解网络:什么是虚拟路由器冗余协议 VRRP?
BI技巧丨权限轴
行业唯一!法大大电子合同上榜36氪硬核科技企业
Google Earth Engine(GEE)——当我们前后影像来弥补插值效果得时候,没有效果怎么办?
Solve the problem that pycharm Chinese input method does not follow
我对测试工作的一些认识(资深测试人员总结)
Inexplicable problems in the nesting of constraintlayout and relativelayout
读书笔记:《心若菩提》 曹德旺
one hot 独热码
Probability theory: application of convolution in calculating moving average
How can UI automated testing get out of trouble? How to embody the value?
Software testing (test case) writing: vulgar, native and skillful
如何清理v$rman_backup_job_details视图 报错ORA-02030
8年测试总监的行业思考,看完后测试思维认知更深刻