版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——c语言中log的用法指导c语言中log的用法指导
C语言是一门实践性和动手才能要求很高的大学主干课程,但是C语言测验课的教学一向不受重视,教学效果也不太梦想。下面我就跟你们细致介绍下c语言中log的用法的用法,梦想对你们有用。
Log4c中有三个重要的概念,Category,Appender,Layout。
Category用于区分不同的Logger,其实它就是个logger。在一个程序中我们可以通过Category来指定好多的Logger,用于不同的目的。
Appdender用于描述输出流,通过为Category来指定一个Appdender,可以抉择将log信息来输出到什么地方去,譬如stdout,stderr,文件,或者是socket等等
Layout用于指定日志信息的格式,通过为Appender来指定一个Layout,可以抉择log信息以何种格式来输出,譬如是否有带有时间戳,是否包含文件位置信息等,以及他们在一条log信息中的.输出格式的等。
转载请注明出处:/fdl19881/article/details/8192363
例子:
系统:ubuntu12.10.
打定:
安装log4c库,sudoapt-getinstallliblog4c-devliblog4c-doc
别的系统请百度/GOOGLE找相关编译安装当。log4c官网:/
文件:
log.hlog.c自己将log4c重新封装的函数
test-log.c测试用的主函数
log4crc配置文件xml,照着写就行
//log.h
[cpp]viewplaincopy
01.#ifndef_LOG_H_
02.#define_LOG_H_
03.
04.#include
05.#include
06.
07.#ifdef__cplusplus
08.externC
09.
10.#endif
11.
12.#includelog4c.h
13.
14.#ifdef__cplusplus
15.
16.#endif
17.
18.#defineLOG_PRI_ERRORLOG4C_PRIORITY_ERROR
19.#defineLOG_PRI_WARNLOG4C_PRIORITY_WARN
20.#defineLOG_PRI_NOTICELOG4C_PRIORITY_NOTICE
21.#defineLOG_PRI_DEBUGLOG4C_PRIORITY_DEBUG
22.#defineLOG_PRI_TRACELOG4C_PRIORITY_TRACE
23.
24.externintlog_openconstchar*category;
25.externvoidlog_messageintpriority,constchar*fmt,...;
26.externvoidlog_traceconstchar*file,intline,constchar*func,constchar*fmt,...;
27.externintlog_close;
28.
29.#defineLOG_ERRORfmt,args...
30.log_messageLOG_PRI_ERROR,fmt,##args
31.#defineLOG_WARNfmt,args...
32.log_messageLOG_PRI_WARN,fmt,##args
33.#defineLOG_NOTICEfmt,args...
34.log_messageLOG_PRI_NOTICE,fmt,##args
35.#defineLOG_DEBUGfmt,args...
36.log_messageLOG_PRI_DEBUG,fmt,##args
37.#defineLOG_TRACEfmt,args...
38.log_trace__FILE__,__LINE__,__FUNCTION__,fmt,##args
39.
40.
41.#endif
//log.c
[cpp]viewplaincopy在CODE上查看代码片派生到我的代码片
01.#include
02.#include
03.#includelog.h
04.
05.
06.staticlog4c_category_t*log_category=NULL;
07.
08.intlog_openconstchar*category
09.
10.iflog4c_init==1
11.
12.return-1;
13.
14.log_category=log4c_category_getcategory;
15.return0;
16.
17.
18.voidlog_messageintpriority,constchar*fmt,...
19.
20.va_listap;
21.
22.assertlog_category!=NULL;
23.
24.va_startap,fmt;
25.log4c_category_vloglog_category,priority,fmt,ap;
26.va_endap;
27.
28.
29.voidlog_traceconstchar*file,intline,constchar*fun,
30.constchar*fmt,...
31.
32.charnew_fmt[2048];
33.constchar*head_fmt=[file:%s,line:%d,function:%s];
34.va_listap;
35.intn;
36.
37.assertlog_category!=NULL;
38.n=sprintfnew_fmt,head_fmt,file,line,fun;
39.strcatnew_fmt+n,fmt;
40.
41.va_startap,fmt;
42.log4c_category_vloglog_category,LOG4C_PRIORITY_TRACE,new_fmt,ap;
43.va_endap;
44.
45.
46.
47.intlog_close
48.
49.returnlog4c_fini;
50.
//test-log.c
[cpp]viewplaincopy在CODE上查看代码片派生到我的代码片
01.#include
02.#includelog.h
03.
04.intmainvoid
05.
06.log_openmycat;
07.LOG_TRACEtrace;
08.LOG_ERRORerror;
09.LOG_WARNwarn;
10.LOG_NOTICEnotice;
11.LOG_DEBUGhellolog4c!;
12.log_close;
13.return0;
14.
//配置文件,默认名为log4crc
[html]viewplaincopy在CODE上查看代码片派生到我的代码片
01.
02.
03.
04.
05.
06.
07.0
08.
09.0
10.1
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
编译命令:
[python]viewplaincopy在CODE上查看代码片派生到我的代码片
01.gcctest-log.clog.c-otest-log-llog4c
运行效果
./test-log
[stdout]TRACEmycat-[file:test-log.c,line:7,function:main]trace
[stdout]ERRORmycat-error
[stdout]WARNmycat-warn
[stdout]NOTICEmycat-notice
[stdout]DEBUGmycat-hellolog4c!
讲解:
关于log.h,log.c封装的内容大家可以看看,用到了可变参数宏,可变参数这些。百度一下,就有好多人讲解了。这里就不说了。
log.h与log.c里面用法也很简朴
log_opencategory_name;//category_name确定得是log4crc里面已经定义的category.
关于配置文件log4crc
更繁杂的配置参见:/blog/1570013
配置文件的探寻是由LOG4C_RCPATH环境变量抉择。探寻的配置文件名为log4crc不知道能否变更,没研究过
配置文件中category的priority不知道是什么意思,,反正犹如没什么用。不管设置成什么,犹如都不影响。
环境变量:
?LOG4C_RCPATHholdsthepathtothemainlog4crcconfigurationfile#环境变量若未设置
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急诊护士的工作体会
- 美容美发行业化妆师培训心得
- 玩具行业助理工作总结
- 医务室护士的工作感悟
- 咨询行业行政后勤工作总结
- 服务员的服务技巧与服务态度
- 生物知识综合讲解计划
- 完善酒店营销策略
- 咨询行业美工工作总结
- 税务筹划实践感悟
- 大学校园交通安全现状调查分析
- (高清版)TDT 1013-2013 土地整治项目验收规程
- 我国农村社会保障制度存在的问题分析及对策样本
- 西晋的短暂统一和北方各族的内迁 一等奖
- 语文新课标背景下单元整体教学:六下第4单元大单元设计
- 最高人民法院民事审判第一庭裁判观点侵权责任卷
- 提高自我意识的方法
- 长租公寓课件
- 《康复护理专科》课件
- 2024年度医院肝胆胰脾外科带教计划课件
- 品质部规划方案
评论
0/150
提交评论