我正在尝试使用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中的项目如下所示
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
现在我的问题是为什么我的日志没有采用我在属性文件中指定的格式。
答案 0 :(得分:1)
在log4j.properties
文件中将第4行更改为
log4j.appender.lntLogger.layout.ConversionPattern=%-4r [%t] %-5p %c - %m --date %d{dd MMM yyyy} %n