[ 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. Atitti cto的日常流程与职责attilax总结

    Atitti cto的日常流程与职责attilax总结 1. (最重要)技术战略制定 规划,预测趋势1 1.1. 关键词 Throught技术雷达 趋势 没落  已死  辉煌 未来1 1.2. (比较 ...

  2. 10个Python面试常问的问题

    概述 Python是个非常受欢迎的编程语言,随着近些年机器学习.云计算等技术的发展,Python的职位需求越来越高.下面我收集了10个Python面试官经常问的问题,供大家参考学习. 类继承 有如下的 ...

  3. 如何理解java泛型类

    //泛型代码 public class Pair<T>{ private T first=null; private T second=null; public Pair(T fir,T  ...

  4. javascript基础拾遗(五)

    1.什么是箭头函数 ES6引入的一种新的函数,类似匿名函数,x=>xx 箭头左端为函数参数,右端为函数体 相当于 function (x){ retutn xx } 2.箭头函数的特点 更简洁 ...

  5. grpc-golang实现账号and密码认证

    // I would recommend to use interceptors: // client grpc.Dial(target, grpc.WithPerRPCCredentials(&am ...

  6. 【神经网络】BP反向传播神经网络

    BP算法细节 参数说明:假设有n层.J表示代价函数,和上面的E是同样的意思,只不过用不同的字母写而已. 分析:要想知道第l层的第i个结点的残差,必须知道层已经计算出来了残差,你只要把后面一层的每个结点 ...

  7. python解析XML笔记(etree)

    近期梳理Weblogic数据源,数据源较多,但是每一个数据源在weblogic中是xml方式存在,所以想到批量解析xml,把数据放到数据库后来解决. 需要的数据源信息: WEBLOGIC_HOSTJD ...

  8. lsblk命令

    lsblk命令用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息.块设备有硬盘,闪存盘,cd-ROM等等.lsblk命令包含在util-linux-ng包中,现 ...

  9. 基于jquery横向手风琴效果

    基于jquery横向手风琴效果是一款基于jquery实现的左右滑动手风琴图片轮播切换特效.效果图如下: 在线预览   源码下载 效果图如下: <div class="flash&quo ...

  10. [转]基于BootStrap 的城市三级联动

    原文地址:https://blog.csdn.net/peiyuanxin/article/details/51992384 HTML代码部分    <div class="form- ...