log4j配置
log4j官方主页 http://logging.apache.org/log4j/
log4j类图
log4j主要由三大组件构成Logger,Appender,Layout
Logger 日志写出器,供程序员输出日志信息(用来取代System.out和System.err日志写出器)
这个类的全名为org.apache.log4j.Logger(注意JDK自带的也有一个java.util.logging.Logger)。
Logger 继承了 Category 类,所以有如下方法可以调用
public void debug(Object msg); public void debug(Object msg, Throwable t); public void info(Object msg); public void info(Object msg, Throwable t); public void warn(Object msg); public void warn(Object msg, Throwable t); public void error(Object msg); public void error(Object msg, Throwable t); public void fatal(Object msg); public void fatal(Object msg, Throwable t);
Logger对象生成方式: Logger.getRootLogger();
Logger.getLogger(MyApp.class);
或者生成 org.apache.commons.logging.Log,生成方式为 LogFactory.getLog(MyApp.class);
(此时需要引入commons-logging.jar包,通常引入log4j.jar包时也引入此jar包)
目前 Logger.getLogger(Class clazz) 被认为最理智的命名方式。
Logger Level 日志级别,子类日志级别继承父类日志级别。
日志级别越低,日志信息越详细。如在debug级别下,可以输出所有日志信息,在info级别下则不能输出debug信息。
具体级别顺序如下:
Level.ALL < Level.DEBUG < Level.INFO < Level.WARN <Level.ERROR < Level.FATAL < Level.OFF
Appender 日志输出信息目的地
一个Logger可以有一个或多个Appender,每一个Appender都可以定义自己的日志文件输出目的地。
ConsoleAppender可以把日志信息输出到控件台。
FileAppender 可以把日志信息输出到一个指定日志文件中去。
RollingFileAppender可以把日志输入到一个指定文件中,不同的是该文件有大小的限制。
除之之外,还可把日志文件输出到GUI组件、套接字(SocketAppender)、NT事件记录器(NTEventLogAppender)、UNIX Syslog(SyslogAppender) 守护进程中去。
Layout 日志格式化器
PatternLayout 类似于C语言中printf函数中格式控件字符控制日志文件的输出格式。
输出参数格式为是 %+[format modifiers]+conversion character
format modifiers 用来控制字符串长度及字符串左右补值。
如:
20 表示最小宽度20个字符,不足补空格,默认右对齐。
-20 表示最小宽度20个字符,“-”表示左对齐。
.30 表示最大宽度30个字符,将过30将左边的截取前30个字符,如不超过30个字符,也不补空格。
conversion character 用为控制输入内容。
%p 日志信息的优先级 [DEBUG,INFO,ERROR,WARN,ERROR,FATAL]
%d 时间,可以设置为 %d{yyy MMM dd HH:mm:ss,SSS}
%r 耗费秒数
%m 日志具体信息
%n 输出换行符
log4j 配置文件 log4j.properties
//1,配置Logger,格式为 log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
log4j.rootLogger = DEBUG,stdout
//2,配置Appender 格式为 log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
//3,配置Appender参数 格式为
//4,配置Layout
log4j.appender.stdout.layout = org.apache.log4j.Pattern
//5,配置 Layout 参数
log4j.appender.stdout.layout.ConversionPattern = %m%n
文章参考内容:
Apache log4j 学习笔记 http://heavyz.sourceforge.net/homepage/homepage_zh/comp/notes/log4j.html
log4j配置详解 http://bbs.chinaunix.net/thread-1621517-1-1.html
log4j使用总结 http://kdboy.javaeye.com/blog/208851
如何使用log4j http://www.blogjava.net/rickhunter/articles/28133.html
浙公网安备 33010602011771号