项目结构:
只需引入log4j-*.jar即可
log4j.properties配置
### #配置根Logger ###
log4j.rootLogger=debug,stdout
### 输出到控制台 ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyy-MM-dd HH\:mm\:ss} %5p %c{1}\:%L - %m%n
配置详解
%m 输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH\:mm\:ss},输出类似:2015-12-09 22:05:36
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:TestLog4j:16
测试输出结果
2015-12-09 22:13:39 INFO TestLog4j:10 - i=0
2015-12-09 22:13:39 INFO TestLog4j:10 - i=1
2015-12-09 22:13:39 INFO TestLog4j:10 - i=2
2015-12-09 22:13:39 INFO TestLog4j:10 - i=3
2015-12-09 22:13:39 INFO TestLog4j:10 - i=4
2015-12-09 22:13:39 DEBUG TestLog4j:13 - #####logger.debug#####
2015-12-09 22:13:39 ERROR TestLog4j:15 - #####logger.error#####
TestLog4j.java
package com.wzs;
import org.apache.log4j.Logger;
public class TestLog4j {
private static Logger logger = Logger.getLogger(TestLog4j.class);
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
logger.info("i=" + i);
}
logger.debug("#####logger.debug#####");
logger.error("#####logger.error#####");
}
}