Log4j日志不是我在log4j.properties中指定的模式

时间:2014-08-10 18:23:18

标签: log4j

我正在尝试使用Log4j将消息记录到控制台。

我有一个类似下面的课程

public class Demo {
private static Employee employee=null;
private static Logger logger=Logger.getRootLogger();

public static void main(String[] args) {
    PropertyConfigurator.configure("log4j.properties");
    if(employee!=null){
        System.out.println(employee);
    }else{
        logger.warn("Employee object is null in Demo class main method in if(){} statement");
    }
}
}

我在Project文件夹中有log4j.properties个文件。如果我在log4j.properties中保留classpath文件我发现文件未找到异常,所以我把它保存在Project文件夹中。我在eclipse中的项目如下所示

enter image description here

log4j.properties文件如下

log4j.rootLogger=DEBUG, lntLogger
log4j.appender.lntLogger=org.apache.log4j.ConsoleAppender
log4j.appender.lntLogger.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c - %m  --date %d{dd MMM yyyy} %n

现在我期待以%-4r [%t] %-5p %c - %m --date %d{dd MMM yyyy} %n

格式输出

但是我在控制台中只收到我的消息,如

Employee object is null in Demo class main method in if(){} statement

现在我的问题是为什么我的日志没有采用我在属性文件中指定的格式。

1 个答案:

答案 0 :(得分:1)

log4j.properties文件中将第4行更改为

log4j.appender.lntLogger.layout.ConversionPattern=%-4r [%t] %-5p %c - %m  --date %d{dd MMM yyyy} %n
相关问题