小皮博客 | Xiaopi's Blog

7-log4j详细配置

1. 基础配置

log4j.rootLogger=ERROR,CONSOLE,FILE # 第一个单词DEBUG代表输出等级(DEBUG/INFO/WARN/ERROR/FATAL), CONSOLE表示控制台输出,FILE表示日志文件,在生产环境中建议关闭CONSOLE, 另外,如果没有特殊指定下述的logger,那么所有日志都会以此条目为准. CONSOLE和FILE可以自己定义,即,同时可以定义多个目标位置。
log4j.logger.com.judon=DEBUG # package: com.judon下的日志会输出DEBUG级别的日志,最佳实践是,公共类库和第三方开源项目使用ERROR,自己的生产代码使用INFO级别

2. 一般可以将生产环境和开发环境的日志分开写。

3. 配置分开写

3.1 配置标题

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender # CONSOLE对应于基础配置中的CONSOLE , 采用log4j控制台输出

取值可以有如下几种

org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生新文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

3.2 配置日志的输出格式

log4.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

提供以下几种输出格式

org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式,就是可以自定义输出样式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

3.3 日志条目内容

log4j.appender.CONSOLE.layout.ConversionPattern=%d{MM-ddHH:mm:ss}[%c-%L][%t][%-4r] - %m%n

输出条目格式说明

%m 输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”,也就是一条消息占用一行
%d 输出日志时间点的日期或时间,紧跟一对花括号进行自定义格式
%c 输出所属的类目,通常就是所在类的全名
%l 精确到行
%x 输出对齐

示范

09-3010:34:04[com.opensymphony.xwork2.config.providers.InterceptorBuilder-45][main][106] - No interceptor found for name = includeMethods

3.4 其他条目说明

log4j.appender.FILE.File=${catalina.base}/logs/yutuo.log # 定义输出文件的位置及文件名
log4j.appender.FILE.MaxFileSize=1MB # 定义每个文件的大小,超过这个大小,则新建一个文件,注意单位 MB 或 KB

版权声明

本文标题:7-log4j详细配置

文章作者:盛领

发布时间:2014年11月04日 - 20:06:33

原始链接:http://blog.xiaoyuyu.net/post/2823ab49.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

如您有任何商业合作或者授权方面的协商,请给我留言:sunsetxiao@126.com

盛领 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
坚持原创技术分享,您的支持将鼓励我继续创作!