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 可执行程序.第一类是静态链接的可执行程序.静态可执行程序包含执行所需的所有函数 — 换句话说,它们是“完整的”.因为这一原因,静态可执行程序不依赖任何外 ...
随机推荐
- 有关 WCF 的一些错误处理
错误消息: System.ServiceModel.EndpointNotFoundException: 无法调度消息,因为终结点地址"net.tcp://localhost/xxx.svc ...
- 《深入理解jvm》笔记---第六章
类文件结构 1. Java一次编写,到处执行的基石: Java编译产生的是字节码(bytecode).sun公司和其它虚拟机提供商公布各个平台上的虚拟机.这些虚拟机能够加载和执行这些与平台无关的 ...
- 反转链表(不改变指针)JAVA版
class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null; } } public class So ...
- 关于"996",我想说的 - 人在高潮享受成就,人在低潮享受人生
996 - 9点上班,21点下班,周六必须上班. 这就是IT界的潜规则,之前晚上陪家人看新闻的时候我就看到一则新闻轻描淡写的说了996制度,我当时就想说点甚么,但是没有,然而就仿佛突然的一下爆发了,我 ...
- 转:Git: git stash 用法小结
一.应用场景 综合下网上的介绍和资料, git stash (git储藏)可用于以下情形: 发现有一个类是多余的,想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交.这时就可以考虑 ...
- shutil 高级文件操作
High-level file operations 高级的文件操作模块,官网:https://docs.python.org/2/library/shutil.html# os模块提供了对目录或者 ...
- 如何让 Xcode 在读写上提速100倍?
如何让 Xcode 在读写上提速100倍? 上个月参加了一场西雅图当地的线下 iOS 开发者聚会.Jeff Szuhay 作为一个有20+年开发经验的资深程序员,跟我讲了一套提高 iOS 开发效率的方 ...
- (转)Windows7安装OpenSSH
(转自:http://blog.sina.com.cn/s/blog_4a0a8b5d01015b0n.html) OpenSSH很老了,所以... 最开始只是因为openSSH启动不了,才用的Mob ...
- Leetcode:【DP】Longest Palindromic Substring 解题报告
Longest Palindromic Substring -- HARD 级别 Question SolutionGiven a string S, find the longest palindr ...
- Python(九)之网络编程
一般的网络通信: Python中利用socket模块实现网络主机间通讯: socket.socket(family,type) family:套接字类型 AF_INET AF_UNIX type: S ...