Linux共享库 zlog日志
[ 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日志的更多相关文章
- linux共享库
linux共享库 linux中共享库一般以.so.x.y.z 命名,其中x,y,z分别为主版本号.次版本号.发布版本号.同一个库,主版本号不同则相互不兼容:主版本相同,次版本号高的库比次版本号低的库有 ...
- Linux共享库两种加载方式简述
Linux共享库两种加载方式简述 动态库技术通常能减少程序的大小,节省空间,提高效率,具有很高的灵活性,对于升级软件版本也更加容易.与静态库不同,动态库里面的函数不是执行程序本身 的一部分,而是 ...
- linux环境 :Linux 共享库LIBRARY_PATH, LD_LIBRARY_PATH 与ld.so.conf
参考: 1. Linux 共享库:LD_LIBRARY_PATH 与ld.so.conf Linux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径.(该路径在默 ...
- linux共享库加载
参考自: <<程序员的自我修养--链接.装载与库>> 第八章 Linux共享库的组织 以下截取部分内容 (这本书比较好的讲解了从程序的链接,装载,到运行) 共享库的兼容性 li ...
- linux共享库的版本控制
前几天看到一篇介绍linux共享库版本控制及使用的文章,觉得不错,这里就与大家分享一下. 1. Linux约定 经常看到Linux中,共享库的名字后面跟了一串数字,比如:libperl.so.5.18 ...
- Linux共享库 日志方法
mylog.h #ifdef __cplusplus extern "C" { #endif //写日志函数 //path:日志文件名 //msg:日志信息 int writelo ...
- Linux Linux共享库
so文件在linux中为共享库,与windows下的dll类似. so文件中的函数可供多个进程调用,最大可能的提供二进制代码复用. 共享库可以使代码的维护工作大大简化,当修正了一些错误或者添加了新特性 ...
- Linux共享库、静态库、动态库详解
1. 介绍 使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用.程序函数库 ...
- Linux 共享库(动态库)
Linux 系统上有两类根本不同的 Linux 可执行程序.第一类是静态链接的可执行程序.静态可执行程序包含执行所需的所有函数 — 换句话说,它们是“完整的”.因为这一原因,静态可执行程序不依赖任何外 ...
随机推荐
- Android 7.0 Dialog 无法显示的问题
app 在 Android 7.0 上登录的时候, Dialog 不显示了,但是半透明背景显示 经过搜索和对比,发现出现该问题是因为重写了 getResources() 方法造成的 .重写该方法是为了 ...
- 志强处理器结尾的ES、QS、正式版的区别
CPU的推出过程大概分这几个步骤:ES1:测试架构和工艺制程ES2:修正大量BUG 这个时候的U已经能用了 但还存在隐患ES3(QS):质量认证样品 型号确定 在电脑上能显示型号和规格 可能存在或不存 ...
- 使用ASIHTTPRequest和ASIDownloadCache实现本地缓存
源码:http://files.cnblogs.com/ios8/ASIHttpRequestDemo2.zip NSURL *url = [NSURLURLWithString:@"htt ...
- 菜鸟学SSH(十)——Hibernate核心接口
在使用Hibernate的时候,我们通常都会用的Configuration.SessionFactory.Session.Transaction.Query和Criteria等接口.通过这些接口可以, ...
- FireFox在新标签中打开搜索结果
原文:https://jingyan.baidu.com/article/20b68a88563a1b796cec6228.html 步骤如下: (1)在浏览器的地址栏输入:about:config, ...
- opencv项目报错_pFirstBlock==pHead解决办法
备注: 我上次遇到这个问题的原因是项目设置为MTd导致的 OpenCV是MTd的,我要是改成MDd就编译报错,所以不能采用把项目改为MDd的办法,只能把OpenCV重新编译为MDd的,下载CMAKE, ...
- 【Turing Award】Robin Milner And Butler W. Lampson
1991 罗宾·米尔纳(Robin Milner) Robin Milner(13 January 1934 – 20 March 2010) Introduction : Milner was bo ...
- Python版求数组的最大连续区间
[本文出自天外归云的博客园] 题目:有一个数组,求他的最大(最长)连续区间(数字是连续的区间). 我的解法,如下: class Finder(object): ''' 判断两个相邻的数字是否连续,若连 ...
- tf.Variable
tf.Variable __init__( initial_value=None, trainable=True, collections=None, validate_shape=True, cac ...
- 慢速HTTP拒接服务攻击(DoS)复现
kali linux下有个神奇的工具叫“slowhttptest” 命令:slowhttptest -c 1000 -H -g -o slowhttp -i 10 -r 200 -t GET -u h ...