c语言中log的用法指导.docx
上传人:一条****贺6 上传时间:2024-09-15 格式:DOCX 页数:11 大小:13KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

c语言中log的用法指导.docx

c语言中log的用法指导.docx

预览

免费试读已结束,剩余 1 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

c语言中log的用法指导c语言中log的用法指导C语言是一门实践性和动手能力要求很高的大学主干课程,但是C语言实验课的教学一直不受重视,教学效果也不太理想。下面小编就跟你们详细介绍下c语言中log的用法的用法,希望对你们有用。c语言中log的用法指导1Log4c中有三个重要的概念,Category,Appender,Layout。Category用于区分不同的Logger,其实它就是个logger。在一个程序中我们可以通过Category来指定很多的Logger,用于不同的目的。Appdender用于描述输出流,通过为Category来指定一个Appdender,可以决定将log信息来输出到什么地方去,比如stdout,stderr,文件,或者是socket等等Layout用于指定日志信息的格式,通过为Appender来指定一个Layout,可以决定log信息以何种格式来输出,比如是否有带有时间戳,是否包含文件位置信息等,以及他们在一条log信息中的输出格式的等。例子:系统:ubuntu12.10.准备:安装log4c库,sudoapt-getinstallliblog4c-devliblog4c-doc别的系统请百度/GOOGLE找相关编译安装当。文件:log.hlog.c自己将log4c重新封装的函数test-log.c测试用的主函数log4crc配置文件(xml,照着写就行)//log.h[cpp]viewplaincopy01.#ifndef_LOG_H_02.#define_LOG_H_03.04.#include05.#include06.07.#ifdef__cplusplus08.extern"C"09.{10.#endif11.12.#include"log4c.h"13.14.#ifdef__cplusplus15.}16.#endif17.18.#defineLOG_PRI_ERRORLOG4C_PRIORITY_ERROR19.#defineLOG_PRI_WARNLOG4C_PRIORITY_WARN20.#defineLOG_PRI_NOTICELOG4C_PRIORITY_NOTICE21.#defineLOG_PRI_DEBUGLOG4C_PRIORITY_DEBUG22.#defineLOG_PRI_TRACELOG4C_PRIORITY_TRACE23.24.externintlog_open(constchar*category);25.externvoidlog_message(intpriority,constchar*fmt,...);26.externvoidlog_trace(constchar*file,intline,constchar*func,constchar*fmt,...);27.externintlog_close();28.29.#defineLOG_ERROR(fmt,args...)30.log_message(LOG_PRI_ERROR,fmt,##args)31.#defineLOG_WARN(fmt,args...)32.log_message(LOG_PRI_WARN,fmt,##args)33.#defineLOG_NOTICE(fmt,args...)34.log_message(LOG_PRI_NOTICE,fmt,##args)35.#defineLOG_DEBUG(fmt,args...)36.log_message(LOG_PRI_DEBUG,fmt,##args)37.#defineLOG_TRACE(fmt,args...)38.log_trace(__FILE__,__LINE__,__FUNCTION__,fmt,##args)39.40.41.#endif//log.c[cpp]viewplaincopy在CODE上查看代码片派生到我的`代码片01.#include02.#include03.#include"log.h"04.05.06.staticlog4c_category_t*log_category=NULL;07.08.intlog_open(constchar*category)09.{10.if(log4c_init()==1)11.{12.return-1;13.}14.log_category=log4c_category_get(category);15.return0;16.}17.18.voidlog_message(intpriority,constchar*fmt,...)19.{20.va_listap;21.22.assert(log_category!=NULL);23.24.va_sta