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语言日志工具)的更多相关文章

  1. 高效c/c++日志工具zlog使用介绍

    1. zlog简介 zlog的资料网上很多,这里不在详细说明:zlog是用c写的一个日志工具,非常小,而且高效,可以同时向控制台和文件中输出,日志接口与printf使用基本一样,所以使用起来很简单. ...

  2. Android-LogCat日志工具(二)

    既然是Java语言,那么对于很多人来说,用System.out.println() 方法来打印日志是最熟悉.最简单不过了.不过在真正的项目开发中,是极度不建议使用 System.out.println ...

  3. Apache通用日志工具commons-logging和Log4j使用总结

    转自:https://blog.csdn.net/lzl13391522110/article/details/53758536 Apache通用日志工具commons-logging和Log4j使用 ...

  4. .NetCore中的日志(2)集成第三方日志工具

    .NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...

  5. 细说Java主流日志工具库

    概述 在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息. 在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子. 我们先来逐一了解一下主流日志工具. java.util ...

  6. atitit.编程语言 程序语言 的 工具性 和 材料性 双重性 and 语言无关性 本质

    atitit.编程语言 程序语言 的 工具性 和 材料性 双重性 and 语言无关性 本质 #---语言的 工具和材料双重性 有的人说语言是个工具,有的人说语言是个材料..实际上语言同时属于两个属性. ...

  7. Java主流日志工具库

    在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息.在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子.我们先来逐一了解一下主流日志工具. 1.java.util.lo ...

  8. 【工具推荐】ELMAH——可插拔错误日志工具

    今天看到一篇文章(构建ASP.NET网站十大必备工具(2)),里面介绍了一个ELMAH的错误日志工具,于是研究了一下. ELMAH 是 Error Logging Modules and Handle ...

  9. Android-LogCat日志工具(一)

    LogCat : Android中一个命令行工具,可以用于得到程序的log信息. 就像你知道一个人的日志.航程,你可以无时无刻知道一个人在干什么. 而LogCat , 就是程序的日志.通过日志,你可以 ...

随机推荐

  1. 【转】一个FAE(AE)的体会和大家交流

    原文网址:http://www.52rd.com/bbs/dispbbs.asp?boardID=63&ID=228682 本人在国内某芯片设计公司工作近5年时间岗位是AE和FAE,两个工作量 ...

  2. hdu 1402 A * B Problem Plus FFT

    /* hdu 1402 A * B Problem Plus FFT 这是我的第二道FFT的题 第一题是完全照着别人的代码敲出来的,也不明白是什么意思 这个代码是在前一题的基础上改的 做完这个题,我才 ...

  3. hdu 5389 Zero Escape(记忆化搜索)

    Problem Description Zero Escape, is a visual novel adventure video game directed by Kotaro Uchikoshi ...

  4. JS 中的引用

    首先有一个全局变量  JsonArry={"key":"value"}; 假设这个object为{"你好":"引用"} ...

  5. Android学习【Android内核编译流程和错误笔记】

    博客:http://blog.csdn.net/muyang_ren Ubuntu14.04 LTS(要求是64位长期支持版LTS) Jdk1.8 内核:android4.0 一:jdk 1.解压jd ...

  6. exit和abort都是用来终止程序的函数

    exit会做一些释放工作:释放所有的静态的全局的对象,缓存,关掉所有的I/O通道,然后终止程序.如果有函数通过atexit来注册,还会调用注册的函数.不过,如果atexit函数扔出异常的话,就会直接调 ...

  7. Linux系统中C&Cpp程序开发(一)

    之前一直在Windows系统下进行程序的设计,近期开始学习使用Linux系统,因而打算将程序开发也转移到Linux系统下.今天先简单介绍一下该系统下的C程序开发步骤. 首先要预先安装vim和gcc工具 ...

  8. No suitable authentication method found to complete authentication (publickey,keyboard-interactive).

    string command = Command.Text; StringBuilder result = new StringBuilder(); try { var connectionInfo ...

  9. string.Format 指定字符串宽度

    语法: { index[,alignment][:formatString]} index,为索引号,不用多说. alignment,是一个带符号的整数,绝对值的大小表示字段的宽度. formatSt ...

  10. centos上如何安装git

    安装依赖包 1.yum -y install zlib-devel openssl-devel perl cpio expat-devel gettext-devel 2.yum install au ...