Log4j日志不是我在Log4j.properties中指定的模式
我正在尝试使用Log4j日志不是我在Log4j.properties中指定的模式,log4j,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"); i
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");
}
}
}
我在项目文件夹中有log4j.properties
文件。如果我将log4j.properties
文件保存在classpath
中,我将获取未找到的文件异常,因此我将其保存在项目文件夹中
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");
}
}
}
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
但我只在控制台中收到我的消息,就像
if(){}语句中演示类main方法中的员工对象为空
现在我的问题是,为什么我的日志没有采用我在属性文件中指定的格式。在
log4j.properties
文件的第4行更改为
log4j.appender.lntLogger.layout.ConversionPattern=%-4r [%t] %-5p %c - %m --date %d{dd MMM yyyy} %n