log4j+junit+maven
本文在开发第一个maven示例的基础上进行扩展。
日志级别测试
在src\main\resources文件夹下新建log4j.properties
log4j.rootLogger = warn,stdout #输出到控制台 log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout = org.apache.log4j.SimpleLayout
在src\test\java文件夹下新建test包,在此包中新建TestClass类。
package test; import org.apache.log4j.Logger; import org.junit.Test; public class TestClass { protected Logger log = Logger.getLogger(this.getClass()); @Test public void test() { log.fatal("this is fatal"); log.error("this is error"); log.warn("this is warn"); log.info("this is info"); log.debug("this is debug"); log.trace("this is trace"); } }
控制台打印:
FATAL - this is fatal ERROR - this is error WARN - this is warn
从结果中可知当日志级别设置为warn时,比warn级别低的info、debug、trace日志没有被打印出来。
log4j.rootLogger = warn,stdout
#输出到控制台
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601}[%-5p][%l]:%m%n
控制台打印:
2016-12-30 14:04:12,585[FATAL][test.TestClass.test(TestClass.java:11)]:this is fatal 2016-12-30 14:04:12,588[ERROR][test.TestClass.test(TestClass.java:12)]:this is error 2016-12-30 14:04:12,589[WARN ][test.TestClass.test(TestClass.java:13)]:this is warn
ConsoleAppender测试
ConsoleAppender默认的target 是 "System.out",也可指定"System.err"。
在日志级别测试的基础上修改配置文件:
log4j.rootLogger = warn,stdout
#输出到控制台
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.err
log4j.appender.stdout.layout = org.apache.log4j.SimpleLayout
控制台打印:
FATAL - this is fatal
ERROR - this is error
WARN - this is warn
可以看到打印出的信息是红色的。