log4j日志输出规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Log4j 使用参考规范
目录
简介 (3)
1. 概述 (3)
2. 库主件 (3)
3. 主要组件 (3)
配置 (4)
1. 相关配置文件 (4)
2. 详细配置说明 (5)
3. 输出方式 (5)
4. 输出格式 (6)
调用 (7)
注意问题 (7)
参考文档 (8)
1. 概述
程序开发环境中的日志记录是由嵌入在程序中以输出一些对开发人员有用信息的语句所组成。例如,跟踪语句(trace),结构转储和常见的System.out.println或printf调试语句。log4j 提供分级方法在程序中嵌入日志记录语句。日志信息具有多种输出格式和多个输出级别。
使用一个专门的日志记录包,可以减轻对成千上万的System.out.println 语句的维护成
本,因为日志记录可以通过配置脚本在运行时得以控制。log4j 维护嵌入在程序代码中的日志记录语句。通过规范日志记录的处理过程,一些人认为应该鼓励更多的使用日志记录并且获得更高程度的效率。
五级输出,依次为DEBUG、INFO、WARN、ERROR、FATAL。使用者可根据不同的
需求,设定不同的输出级别,则得到不同级别的输出结果。
(在正式生产环境中,一般设定为 warn)
2. 库主件
目前log4j 2.0 版本需要JAVA5(logging services designed for Java 5 and later);1.3 版不被推荐使用,我们使用的最多的是1.2版。目前可download 的是1.2.17 版。下载地址:/dyn/closer.cgi/logging/log4j/
库文件一般为名为log4j.jar, 使用时加入lib路径下。
3. 主要组件
Log4j有三个主要组件:loggers、appenders和layouts。这三个组件协同工作,使开发人员能够根据消息类型和级别来记录消息,并且在程序运行期控制消息的输出格式位置。Logger:记录器;Logger 负责处理日志记录的大部分操作。
Appender:挂载点;Appender 负责控制日志记录操作的输出。
Layout:布局;Layout 负责格式化Appender 的输出。
1. 相关配置文件
Log4j 的配置文件可以使用XML 文件和property 文件。这里我们主要使用log4j.properties 配置文件,其比较直观,便于修改和维护。下面是一个log4j 配置文件的例子:
log4j.rootLogger=warn, logfile, errorLogger, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
yout=org.apache.log4j.PatternLayout
yout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}]
.apache=warn
.yaic.app=warn
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=/app/domains/Appdomain.logs/dysub_log.log
yout=org.apache.log4j.PatternLayout
yout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-3p] %t %C %L: %m%n
log4j.appender.errorLogger=org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorLogger.File=/app/domains/Appdomain.logs/dysub_error.log
yout=org.apache.log4j.PatternLayout
yout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-3p] %t %C %L: %m%n
log4j.appender.errorLogger.Threshold=error
log4j.logger.yafaLogger=trace, yafaLogger, console
log4j.appender.yafaLogger=org.apache.log4j.DailyRollingFileAppender
log4j.appender.yafaLogger.File=/app/domains/Appdomain.logs/dysub_yafa.log
yout=org.apache.log4j.PatternLayout
yout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-3p] %t %C %L: %m%n
log4j.additivity.yafaLogger = false
log4j.logger.auditLogger=trace, auditLogger, console
log4j.appender.auditLogger=org.apache.log4j.DailyRollingFileAppender
log4j.appender.auditLogger.File=/app/domains/Appdomain.logs/dysub_audit.log
yout=org.apache.log4j.PatternLayout
yout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}