zlog小试(C语言日志工具)
test.c
#include <stdio.h>
#include "zlog.h" int main(int argc, char** argv) {
int rc;
zlog_category_t *c; rc = zlog_init("test_hello.conf");
if (rc) {
printf("init failed\n");
return -;
} c = zlog_get_category("my_cat");
if (!c) {
printf("get cat fail\n");
zlog_fini();
return -;
} zlog_info(c, "hello, zlog");
zlog_debug(c, "hello, zlog");
zlog_fini(); return ;
}
test_hello.conf
[formats]
simple = "%d(%F %T %ms) %m%n" [rules]
# my_cat.INFO >stdout; simple
my_cat.INFO "test.log"; simple
编译命令
gcc test.c -lzlog -I /usr/local/include/ -L /usr/local/lib/
说明
test_hello.conf 需要和可执行文件在同一目录,如果找不到或者配置文件里的配置不正确zlog_init都会报告初始化失败 %m是用户需要记录的message从info,debug函数传入,%n是换行符 %d(...) 表示配置的是日期时间选项,日志的时间是非常非常重要的,只有对程序各个环节在执行时消耗的时间有大致的了解,才能知道程序性能的瓶颈在哪里,以及找对应的解决办法%(%F %T %ms)分别是(年-月-日)日期,时间,毫秒, #号是注释 >stdout 表示日志输出到终端,"test.log"则表示日志输出到文件,直接写文件名日志就会被输出到可执行文件所在目录
zlog小试(C语言日志工具)的更多相关文章
- 高效c/c++日志工具zlog使用介绍
1. zlog简介 zlog的资料网上很多,这里不在详细说明:zlog是用c写的一个日志工具,非常小,而且高效,可以同时向控制台和文件中输出,日志接口与printf使用基本一样,所以使用起来很简单. ...
- Android-LogCat日志工具(二)
既然是Java语言,那么对于很多人来说,用System.out.println() 方法来打印日志是最熟悉.最简单不过了.不过在真正的项目开发中,是极度不建议使用 System.out.println ...
- Apache通用日志工具commons-logging和Log4j使用总结
转自:https://blog.csdn.net/lzl13391522110/article/details/53758536 Apache通用日志工具commons-logging和Log4j使用 ...
- .NetCore中的日志(2)集成第三方日志工具
.NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...
- 细说Java主流日志工具库
概述 在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息. 在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子. 我们先来逐一了解一下主流日志工具. java.util ...
- atitit.编程语言 程序语言 的 工具性 和 材料性 双重性 and 语言无关性 本质
atitit.编程语言 程序语言 的 工具性 和 材料性 双重性 and 语言无关性 本质 #---语言的 工具和材料双重性 有的人说语言是个工具,有的人说语言是个材料..实际上语言同时属于两个属性. ...
- Java主流日志工具库
在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息.在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子.我们先来逐一了解一下主流日志工具. 1.java.util.lo ...
- 【工具推荐】ELMAH——可插拔错误日志工具
今天看到一篇文章(构建ASP.NET网站十大必备工具(2)),里面介绍了一个ELMAH的错误日志工具,于是研究了一下. ELMAH 是 Error Logging Modules and Handle ...
- Android-LogCat日志工具(一)
LogCat : Android中一个命令行工具,可以用于得到程序的log信息. 就像你知道一个人的日志.航程,你可以无时无刻知道一个人在干什么. 而LogCat , 就是程序的日志.通过日志,你可以 ...
随机推荐
- Kill Process by Name
Kill Process by Name(works in: Microsoft Windows 95/98/ME/NT/2000/XP)It is sometimes necessary to te ...
- 【转】【教程】office 2013 & visio 2013的激活
原文网址:http://zhan.renren.com/sola86?gid=3602888498037097351&checked=true 1.下载安装文件 office和visio都有两 ...
- Palindrome Permutation II 解答
Question Given a string s, return all the palindromic permutations (without duplicates) of it. Retur ...
- openstack neutron debugs lists
- cnBlogs_代码着色
一个程序员当然希望写出来的代码不仅质量上好,而且看上去也很好.以前在网络上看见别人写的代码,着色以及背景都好极了,很是羡慕,但就是不知道如何设置 --------------------------- ...
- js中的数据类型及其转换
Js中的数据类型 Js中的数据类型一共有六种,即number,string,boolean,underfine,null,object. 一,number Number数据类型指的是数字,可以为整型, ...
- android 绘图
在main.xml文件中代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...
- CCSpawn使用CCRepeatForever无效
在使用CCSpawn中加入CCRepeatForever,但却无法使用CCRepeatForever的效果. CCActionInterval* action =(CCActionInterval*) ...
- Java基础知识强化37:StringBuffer类之StringBuffer的构造方法
1. StringBuffer的构造方法: (1)StringBuffer(): (2)StringBuffer(CharSequence seq): (3)StringBuffer(int capa ...
- C#委托的回调机制
代码如下: public partial class FrmMain : Form { // 定义回调使用关键字 delegate(回调是委托的一种应用,其本质就是委托) private delega ...