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日志没有被打印出来。


PatternLayout测试

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

可以看到打印出的信息是红色的。

 

posted @ 2017-02-04 10:21  SQP51312  阅读(701)  评论(0编辑  收藏  举报