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 可执行程序.第一类是静态链接的可执行程序.静态可执行程序包含执行所需的所有函数 — 换句话说,它们是“完整的”.因为这一原因,静态可执行程序不依赖任何外 ...
随机推荐
- 源码解析-EventBus
示例使用 时序图 源码解读 EventBus 使用 官网定义:EventBus 是一个使用 Java 写的观察者模式,解耦的 Android 开源库.EventBus 只需要几行代码即可解耦简化代码, ...
- c语言实现xor加密
异或运算:^ 定义:它的定义是:两个值相同时,返回false,否则返回true.也就是说,XOR可以用来判断两个值是否不同. 特点:如果对一个值连续做两次 XOR,会返回这个值本身. ^ // 第一次 ...
- 分布式系统的那些事儿(六) - SOA架构体系
有十来天没发文了,实在抱歉!最近忙着录视频,同时也做了个开源的后台管理系统LeeCX,目前比较简单,但是后续会把各类技术完善.具体可以点击“原文链接”. 那么今天继续说分布式系统的那些事. 我们现在动 ...
- [svc]NFS存储企业场景及nfs最佳实战探究
办公网络里人一般系统用共享,尤其是财务, 他们喜欢直接点开编辑. 而不喜欢ftp nfs在网站架构中的用途 注: 如果pv量少,则放在一台机器上速度更快,如果几千万pv,则存储分布式部署. 网站架构中 ...
- SQL存储过程教程
一直以来,对SQL SERVER的存储过程和触发器都基本没有用到,只是偶尔从网上找几个简单的函数PASTE到我的SQL中用.自己写总是感觉缺点什么,前几天单位的培训讲了一天的SQL SERVER, ...
- HTML5新特性之文件和二进制数据的操作
历史上,JavaScript无法处理二进制数据.如果一定要处理的话,只能使用charCodeAt()方法,一个个字节地从文字编码转成二进制数据,还有一种办法是将二进制数据转成Base64编码,再进行处 ...
- [Windows Azure] Configuring and Deploying the Windows Azure Email Service application - 2 of 5
Configuring and Deploying the Windows Azure Email Service application - 2 of 5 This is the second tu ...
- vs ComboBox显示多行
ComboBox,Drop List Type添加了多个数据,但是编译出来点下来按钮,只有一行. 惆怅 然后搜了下发现有人说: 在资源里面点向下箭头,把数据区拉长一点 然后才发现,原来资源里的Comb ...
- 【Mysql】Fedora下 Mysql 安装及配置
1.安装 Mysql Server # yum install mysql mysql-server 可以到mysql官网去下载,我下载的是通用版本.你需要下载下面四个文件就可以了. mysql-cl ...
- 【机器学习】Softmax 和Logistic Regression回归Sigmod
二分类问题Sigmod 在 logistic 回归中,我们的训练集由 个已标记的样本构成: ,其中输入特征.(我们对符号的约定如下:特征向量 的维度为 ,其中 对应截距项 .) 由于 logis ...