[ global]
strict init = false
buffer min =
buffer max = 2MB
rotate lock file= /tmp/zlog.lock
[formats]
normal = "%d.%us [%V][%F:%L] %m%n"
[ rules ]
asr_level.* "/home/test/asr.log";normal

注意:如果配置了rotate lock file项,在自己本机测试时候,注意删除一下zlog.lock文件,不然有可能锁住,导致zlog初始化失败

zlog参数配置详解
[formats]
%d --表示时间,例如 2018-07-20 09:32:43
%us --表示微妙,例如 991437
%F --表示文件,例如 test_init.c
%V --表示日志等级,例如 DEBUG,INFO
%L --表示行号
%m --表示用户输出信息
%n --表示换行 normal = "%d.%us [%V][%F:%L] %m%n" [rules]
类别名.* --表示打印所有级别的日志信息
类别名.=DEBUG --表示打印指定级别的日志
类别名.!DEBUG --表示打印非DEBUG级别的日志
#ifndef __ASR_ZLOG_H_
#define __ASR_ZLOG_H_ #include "zlog.h" /*日志类*/ extern zlog_category_t *zc; //初始化zlog
int zlogInit(const char *pcConfigPath, const char *pcModelName); //释放zlog
void zlogDestory(); #define FATAL_LOG(fmt,...) \
zlog_fatal(zc,fmt,__VA_ARGS__); #define ERROR_LOG(fmt,...) \
zlog_error(zc,fmt,__VA_ARGS__); #define WARN_LOG(fmt,...) \
zlog_warn(zc,fmt,__VA_ARGS__); #define NOTICE_LOG(fmt,...) \
zlog_notice(zc,fmt,__VA_ARGS__); #define INFO_LOG(fmt,...) \
zlog_info(zc,fmt,__VA_ARGS__); #define DEBUG_LOG(fmt,...) \
zlog_debug(zc,fmt,__VA_ARGS__); #endif
#include <stdarg.h>

#include "asr_log.h"
#include "comontype.h" zlog_category_t *zc; /********************************************************
zlog
*********************************************************/ /********************************************************
Func Name: init
Date Created: 2018-7-20
Description: 初始化
Input:
Output:
Return: error code
Caution:
*********************************************************/
int zlogInit(IN const char *pcConfigPath,IN const char *pcModelName)
{
int iRet = DEFAULT_ERROR; if (NULL == pcConfigPath || NULL == pcModelName)
{
iRet = PARAM_ERROR;
return iRet;
} iRet = zlog_init(pcConfigPath);
if (iRet) {
printf("init fail");
return DEFAULT_ERROR;
}
zc = zlog_get_category(pcModelName);
if (!zc) {
printf("zlog_get_category fail\n");
zlog_fini();
return DEFAULT_ERROR;
} return RESULT_OK;
} /********************************************************
Func Name: init
Date Created: 2018-7-20
Description: 销毁zlog
Input:
Output:
Return:
Caution:
*********************************************************/
void zlogDestory()
{
zlog_fini();
}

Linux共享库 zlog日志的更多相关文章

  1. linux共享库

    linux共享库 linux中共享库一般以.so.x.y.z 命名,其中x,y,z分别为主版本号.次版本号.发布版本号.同一个库,主版本号不同则相互不兼容:主版本相同,次版本号高的库比次版本号低的库有 ...

  2. Linux共享库两种加载方式简述

      Linux共享库两种加载方式简述  动态库技术通常能减少程序的大小,节省空间,提高效率,具有很高的灵活性,对于升级软件版本也更加容易.与静态库不同,动态库里面的函数不是执行程序本身 的一部分,而是 ...

  3. linux环境 :Linux 共享库LIBRARY_PATH, LD_LIBRARY_PATH 与ld.so.conf

    参考: 1. Linux 共享库:LD_LIBRARY_PATH 与ld.so.conf Linux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径.(该路径在默 ...

  4. linux共享库加载

    参考自: <<程序员的自我修养--链接.装载与库>> 第八章 Linux共享库的组织 以下截取部分内容 (这本书比较好的讲解了从程序的链接,装载,到运行) 共享库的兼容性 li ...

  5. linux共享库的版本控制

    前几天看到一篇介绍linux共享库版本控制及使用的文章,觉得不错,这里就与大家分享一下. 1. Linux约定 经常看到Linux中,共享库的名字后面跟了一串数字,比如:libperl.so.5.18 ...

  6. Linux共享库 日志方法

    mylog.h #ifdef __cplusplus extern "C" { #endif //写日志函数 //path:日志文件名 //msg:日志信息 int writelo ...

  7. Linux Linux共享库

    so文件在linux中为共享库,与windows下的dll类似. so文件中的函数可供多个进程调用,最大可能的提供二进制代码复用. 共享库可以使代码的维护工作大大简化,当修正了一些错误或者添加了新特性 ...

  8. Linux共享库、静态库、动态库详解

    1. 介绍 使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用.程序函数库 ...

  9. Linux 共享库(动态库)

    Linux 系统上有两类根本不同的 Linux 可执行程序.第一类是静态链接的可执行程序.静态可执行程序包含执行所需的所有函数 — 换句话说,它们是“完整的”.因为这一原因,静态可执行程序不依赖任何外 ...

随机推荐

  1. private static final long serialVersionUID = 1L;

    作者:郭无心链接:https://www.zhihu.com/question/24852886/answer/117314768来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  2. 使用ASIHTTPRequest和ASIDownloadCache实现本地缓存

    源码:http://files.cnblogs.com/ios8/ASIHttpRequestDemo2.zip NSURL *url = [NSURLURLWithString:@"htt ...

  3. lua -- 商店控制器部分

    -- 创建商店类,继承了Behavior local UIShopController = class("UIShopController", Behavior); -- 包含并引 ...

  4. [Windows Azure] Data Management and Business Analytics

    http://www.windowsazure.com/en-us/develop/net/fundamentals/cloud-storage/ Managing and analyzing dat ...

  5. Tips for Navigating Large Game Code Bases

    http://solid-angle.blogspot.com/2015/08/tips-for-navigating-large-game-code.html

  6. 使用终端执行.app程序 for mac

    背景:打开Eclipse闪退,需要查看错误日志 问题:使用Terminal执行 ./Eclipse.app时,提示“no such file or directory” 解决方案:执行./Applic ...

  7. BI--SAP BI的权限管理

    源地址 :http://silverw0396.iteye.com/blog/229274 一.sapBI的用户分类 There are different types of users in SAP ...

  8. visual studio 2005提示脚本错误 /VC/VCWizards/2052/Common.js

    今天在做OCX添加接口的时候,莫名其妙的遇到visual studio 2005提示脚本错误,/VC/VCWizards/2052/Common.js. 网上找了很多资料,多数介绍修改注册表“vs20 ...

  9. csu1356 :判断一个环是否为奇数环

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1356 题意:给出一个起始点,一些边,有人从这个起始点开始随意走,问在某一个时候,它是否可以处于任意 ...

  10. nginx动态配置及服务发现那些事

    Reference: http://xiaorui.cc/2016/10/16/nginx%E5%8A%A8%E6%80%81%E9%85%8D%E7%BD%AE%E5%8F%8A%E6%9C%8D% ...