您好,欢迎访问三七文档
Log4C使用总结Log4c使用方法1Log4c必要文件liblog4c.a静态库文件log4c.h日志函数log4c/*.h其它要包含的文件2make前先将include文件cp到local目录(log4c使用进行的文件包含),makefile文件增加下列命令命令执行makecmd3应用步骤包含mylog.h,mylog对log4c进行了简单封装,使用LOG宏直接可以进行日志输出Mylog只定义了一个Category,需要其它Category可以继续进行扩展配置文件categoryname与代码中#defineMYLOG_CATEGORY_NAMElog4ctest对应配置文件category与appender对应关系,appender与layout关系,如下,文件输出时rollingpolicy时type=”sizewin”表示日志文件按照大小输出,maxsize表示设置一个文件的最大字节,maxnum表示日志文件最大个数文件输出时rollingpolicy增加type=”timewin”类别,表示按照日期输出,timetype表示日期格式(”0”:表示按小时,”1”:表示按日,”2”:表示按照月,”3”:表示按年)。配置文件category中priority指定最低显示日志的级别,log4c定义级别如下typedefenum{/**fatal*/LOG4C_PRIORITY_FATAL=000,/**alert*/LOG4C_PRIORITY_ALERT=100,/**crit*/LOG4C_PRIORITY_CRIT=200,/**error*/LOG4C_PRIORITY_ERROR=300,/**warn*/LOG4C_PRIORITY_WARN=400,/**notice*/LOG4C_PRIORITY_NOTICE=500,/**info*/LOG4C_PRIORITY_INFO=600,/**debug*/LOG4C_PRIORITY_DEBUG=700,/**trace*/LOG4C_PRIORITY_TRACE=800,/**notset*/LOG4C_PRIORITY_NOTSET=900,/**unknown*/LOG4C_PRIORITY_UNKNOWN=1000}log4c_priority_level_t;相关资料1源代码及测试程序附件log4c-1.2.3.tar.gz为源代码附件log4ctest.rar为测试程序2安装步骤#./configure--prefix=/usr/local#make#makeinstall安装成功会在/usr/local/lib下看到liblog4c.*(五个文件)注意:将/usr/local/lib/liblog4c.*copy到/usr/lib3配置说明3.1Log4c基本概念Log4c中有三个重要的概念,Category,Appender,Layout。Category用于区分不同的Logger,其实它就是个logger。在一个程序中我们可以通过Category来指定很多的Logger,用于不同的目的。Appdender用于描述输出流,通过为Category来指定一个Appdender,可以决定将log信息来输出到什么地方去,比如stdout,stderr,文件,或者是socket等等Layout用于指定日志信息的格式,通过为Appender来指定一个Layout,可以决定log信息以何种格式来输出,比如是否有带有时间戳,是否包含文件位置信息等,以及他们在一条log信息中的输出格式的等3.2Log4c使用//初始化log4c_init();//获取一个已有的categorylog4c_category_t*mycat=log4c_category_get(mycat);//用该category进行日志输出,优先级为DEBUG,输出信息为HelloWorld!log4c_category_log(mycat,LOG4C_PRIORITY_DEBUG,HelloWorld!);几个输出函数说明:1.最后参数为va_list类型,源码中未对日志等级进行判断,若需要可以加入voidlog4c_category_vlog(constlog4c_category_t*a_category,inta_priority,constchar*a_format,va_lista_args)2.最后参数为变参,函数对日志级别进行验证voidlog4c_category_log(constlog4c_category_t*a_category,inta_priority,constchar*a_format,...)3.参数加入调用者位置信息,对日志等级进行验证voidlog4c_category_log_locinfo(constlog4c_category_t*a_category,constlog4c_location_info_t*a_locinfo,inta_priority,constchar*a_format,...)4测试程序log4ctest.rar程序中使用mylog.h/mylog.c进行了简单的封装,若直接使用可以将其包含在程序中1使用LOG函数进行输出2可以修改#defineMYLOG_CATEGORY_NAMElog4ctest中log4ctes对log4crc配置文件对应项,即可按照配置输出5注意事项配置文件的版本必须与log4c版本一致,否则无日志输出64为OS时请将liblog4c.*copy到/usr/lib64/目录下当出现问题时可以打开调试信息,请设置环境变量exportSD_DEBUG=1exportSD_ERROR=1取消环境变量unsetSD_DEBUGunsetSD_ERROR
本文标题:Log4C使用总结
链接地址:https://www.777doc.com/doc-5077048 .html