b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

log4cpp_log4cpp下载_log4cpp配置

电脑杂谈  发布时间:2016-12-26 05:00:55  来源:网络整理

之前项目中写日志的模块是比较简单的,但是并非多线程安全,而且每写一条日志都调用open函数,写完之后又调用close进行关闭,另外每次调用都会写记录日志的时间,所以非常耗时。log4cpp

于是就想到了用Log4cpp来写本地日志,但是百度到的东西几乎没有什么可用的,全部都是一个复制一个,真心想找像样一点的东西是没有的。

下面是我写的第一版本的配置文件

log4cplus.rootLogger=DEBUG, DEBUG_MSG,FATAL_MSG 

log4cplus.appender.DEBUG_MSG=log4cplus::RollingFileAppender
log4cplus.appender.DEBUG_MSG.File=${DIR}/${APP}.debug.log
log4cplus.appender.DEBUG_MSG.MaxFileSize=${MAXSIZE}
log4cplus.appender.DEBUG_MSG.MaxBackupIndex=${MAXNUMBER}
log4cplus.appender.DEBUG_MSG.layout=log4cplus::PatternLayout
log4cplus.appender.DEBUG_MSG.layout.ConversionPattern=%D{%Y-%m-%d %H:%M:%S %Q} [%t] %F(%L) - %m %n
log4cplus.appender.DEBUG_MSG.filters.1=log4cplus::spi::LogLevelRangeFilter
log4cplus.appender.DEBUG_MSG.filters.1.LogLevelMin=DEBUG
log4cplus.appender.DEBUG_MSG.filters.1.LogLevelMax=ERROR
log4cplus.appender.DEBUG_MSG.filters.1.AcceptOnMatch=true
log4cplus.appender.DEBUG_MSG.filters.2=log4cplus::spi::DenyAllFilter


log4cplus.appender.FATAL_MSG=log4cplus::RollingFileAppender
log4cplus.appender.FATAL_MSG.File=${DIR}/${APP}.fatal.log                                                                       
log4cplus.appender.FATAL_MSG.MaxFileSize=50MB
log4cplus.appender.FATAL_MSG.MaxBackupIndex=1000
log4cplus.appender.FATAL_MSG.layout=log4cplus::PatternLayout
log4cplus.appender.FATAL_MSG.layout.ConversionPattern=%D{%Y-%m-%d %H:%M:%S %Q} [%t] %F(%L) - %m %n
log4cplus.appender.FATAL_MSG.filters.1=log4cplus::spi::LogLevelMatchFilter
log4cplus.appender.FATAL_MSG.filters.1.LogLevelToMatch=FATAL
log4cplus.appender.FATAL_MSG.filters.1.AcceptOnMatch=true
log4cplus.appender.FATAL_MSG.filters.2=log4cplus::spi::DenyAllFilter

log4cpp配置_log4cpp_log4cpp下载

该日志配置主要将需要监控的日志写到*.fatal.log(单文件50个,最多可以写1000个文件),将其他日志写到另外一个*.debug.log(进程启动的时候自定义设置单文件大小和数量),由于log4cpp的配置对于文件名的支持不是太好,于是我选择了用环境变量的形式用替代,代码中调用setenv设置环境变量之后,再调用log4cpp的读配置,这样就可以将文件中自定义了。log4cpp

因为我也刚开始接触log4cpp,在写配置文件时,没有将过滤器的关键字写正确,结果导致所有的写日志全部写到debug日志中了,在写LogLevelMin和LogLevelMax的时候,一定要小心(我当时写成了logLevelMIN和LogLevelMAX,当时郁闷了好久,这里其实设置的是DEBUG到ERROR的日志写到debug中,但是由于配置写错了,fatal日志也写会在debug中写),千万不能写错了,某些版本的log4cpp并不提示开发人员,日志等级不正确的。

另外,还有一个疑问未解决,就是日志式里面调用了 %t,许多文档都解释说是写线程id的,但是实际上我在写日志的时候,这个地方写的是线程地址的十进制式(由于时间的原因没有看源代码),如果有知道的大神,能否给个答案,小的在此谢过啦。

第一次写博客,跪求大神不要喷我,希望能给有缘人有点帮助。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23412-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...