标签:日志 list 优点 app ack 内存 log4cplus 可扩展 div
Log4cpp是一个开源的C++类库,它提供了C++程序中使用日志和跟踪调试的功能,它的优点如下:
Log4cpp有三个主要的组件:日志类别(Category)、输出源(Appender)和布局(Layout)。这三种类型的组件一起工作使得系统可以根据信息的类型和级别记录它们,并且在运行时控制这些信息的输出格式和位置。
三个组件的介绍:
1)日志类别(Category)含义是:如果配置文件中设置的级别是DEBUG,则任意的log都能打印出来;但如果配置的级别是ERROR,则只有高于ERROR优先级的日志才可以打印出来。
日志的常用优先级:DEBUG < INFO < WARN < ERROR < FATAL
2)输出源(Appender)用来输出日志(被layout格式化后)到一些设备上,比如文件、命令行、内存等。也可以定义自己的appender输出日志信息到别的设备上。log4cpp提供的appender如下: FileAppender 输出到文件 RollingFileAppender 输出到回卷文件,即当文件到达某个大小后回卷 ConsoleAppender 输出到控制台
3)布局(Layout):显示样式PatternLayout表示让用户根据类似于C语言printf函数的转换模式来指定输出格式
三个组件之间的关系:
内容如下:
1 #-------定义rootCategory的属性------- 2 3 #指定rootCategory的log优先级是ERROR,其Appenders有两个,分别是console,TESTAppender 4 log4cpp.rootCategory=ERROR, console,TESTAppender 5 6 #-------定义console属性------- 7 8 #consoleAppender类型:控制台输出 9 #下面这三条语句表示控制台输出的log输出的布局按照指定的格式;输出格式是:[%p] %d{%H:%M:%S.%l} (%c): %m%n 10 log4cpp.appender.console=ConsoleAppender 11 log4cpp.appender.console.layout=PatternLayout 12 log4cpp.appender.console.layout.ConversionPattern=[%p] %d{%H:%M:%S.%l} (%c): %m%n 13 14 #-------定义TESTAppender的属性------- 15 16 #RollingFileAppender类型:输出到回卷文件,即文件到达某个大小的时候产生一个新的文件 17 #下面的语句表示文件输出到指定的log文件,输出的布局按照指定的格式,输出的格式是:[%d{%Y-%m-%d %H:%M:%S.%l} - %p] (%c): %m%n 18 log4cpp.appender.TESTAppender=RollingFileAppender 19 20 #当日志文件到达maxFileSize大小时,将会自动滚动
21 log4cpp.appender.TESTAppender.maxFileSize=400000 22 23 #maxBackupIndex指定可以产生的滚动文件的最大数 24 log4cpp.appender.TESTAppender.maxBackupIndex=3 25 26 #fileName指定信息输出到logs/TESTAppender.txt文件 27 log4cpp.appender.TESTAppender.fileName=logs/TESTAppender.txt 28 29 #PatternLayout 表示可以灵活指定布局模式 30 log4cpp.appender.TESTAppender.layout=PatternLayout 31 32 #append=true 信息追加到上面指定的日志文件中,false表示将信息覆盖指定文件内容 33 log4cpp.appender.TESTAppender.append=true 34 log4cpp.appender.TESTAppender.layout.ConversionPattern=[%d{%Y-%m-%d %H:%M:%S.%l} - %p] (%c): %m%n
ConversionPattern的参数含义:
在问题定位的过程中,有时由于设置的日志级别较高,打印出来的信息不够全面,因此需要通过修改配置文件来动态调整日志级别,即修改属性值log4cpp.rootCategory=ERROR 为 log4cpp.rootCategory=DEBUG 这样就可以看到最新的DEBUG级别以上的日志信息了。
标签:日志 list 优点 app ack 内存 log4cplus 可扩展 div
原文地址:http://www.cnblogs.com/xiaojiaocx/p/6404718.html