为什么只记录消息,而不是我的完整模式?
Why is the message is logged only, not my full pattern?
我使用的是log4j 1.2.1.7,我需要创建一个文件,你每次运行都会创建一条记录
这是我的 log4j.properties:
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.target = System.out
log4j.appender.console.layout = org.apache.log4j.EnhancedPatternLayout
log4j.appender.console.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [ %-5p ] %l - %m%n
log4j.appender.LOGFILE=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.LOGFILE.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.LOGFILE.RollingPolicy.FileNamePattern=application_%d{HH-mm-ss}.log
log4j.appender.LOGFILE.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.lOGFILE.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [ %-5p ] %l - %m%n
log4j.rootLogger = TRACE, console,LOGFILE
我的测试class:
public class Testlog {
public static Logger log = Logger.getLogger(Testlog.class);
public static void main(String[] args) {
log.trace("mensaje de trace");
log.debug("mensaje de debug");
log.info("mensaje de info");
say("mensaje de metodo");
log.warn("mensaje de warn");
log.error("mensaje de error");
log.fatal("mensaje de fatal");
}
public static void say(String a){
log.info(a);
}
}
控制台输出:
2015-08-29 20:09:00 [ TRACE ] test.Testlog.main(Testlog.java:13) - mensaje de trace
2015-08-29 20:09:00 [ DEBUG ] test.Testlog.main(Testlog.java:14) - mensaje de debug
2015-08-29 20:09:00 [ INFO ] test.Testlog.main(Testlog.java:15) - mensaje de info
2015-08-29 20:09:00 [ INFO ] test.Testlog.ad(Testlog.java:22) - mensaje de metodo
2015-08-29 20:09:00 [ WARN ] test.Testlog.main(Testlog.java:17) - mensaje de warn
2015-08-29 20:09:00 [ ERROR ] test.Testlog.main(Testlog.java:18) - mensaje de error
2015-08-29 20:09:00 [ FATAL ] test.Testlog.main(Testlog.java:19) - mensaje de fatal
然而,在文件中,我只得到消息:
mensaje de trace
mensaje de debug
mensaje de info
mensaje de metodo
mensaje de warn
mensaje de error
mensaje de fatal
您在 lOGFILE
中有小写 l
拼写错误。
log4j.appender.lOGFILE.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [ %-5p ] %l - %m%n
需要是:
log4j.appender.LOGFILE.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [ %-5p ] %l - %m%n
我使用的是log4j 1.2.1.7,我需要创建一个文件,你每次运行都会创建一条记录
这是我的 log4j.properties:
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.target = System.out
log4j.appender.console.layout = org.apache.log4j.EnhancedPatternLayout
log4j.appender.console.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [ %-5p ] %l - %m%n
log4j.appender.LOGFILE=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.LOGFILE.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.LOGFILE.RollingPolicy.FileNamePattern=application_%d{HH-mm-ss}.log
log4j.appender.LOGFILE.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.lOGFILE.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [ %-5p ] %l - %m%n
log4j.rootLogger = TRACE, console,LOGFILE
我的测试class:
public class Testlog {
public static Logger log = Logger.getLogger(Testlog.class);
public static void main(String[] args) {
log.trace("mensaje de trace");
log.debug("mensaje de debug");
log.info("mensaje de info");
say("mensaje de metodo");
log.warn("mensaje de warn");
log.error("mensaje de error");
log.fatal("mensaje de fatal");
}
public static void say(String a){
log.info(a);
}
}
控制台输出:
2015-08-29 20:09:00 [ TRACE ] test.Testlog.main(Testlog.java:13) - mensaje de trace
2015-08-29 20:09:00 [ DEBUG ] test.Testlog.main(Testlog.java:14) - mensaje de debug
2015-08-29 20:09:00 [ INFO ] test.Testlog.main(Testlog.java:15) - mensaje de info
2015-08-29 20:09:00 [ INFO ] test.Testlog.ad(Testlog.java:22) - mensaje de metodo
2015-08-29 20:09:00 [ WARN ] test.Testlog.main(Testlog.java:17) - mensaje de warn
2015-08-29 20:09:00 [ ERROR ] test.Testlog.main(Testlog.java:18) - mensaje de error
2015-08-29 20:09:00 [ FATAL ] test.Testlog.main(Testlog.java:19) - mensaje de fatal
然而,在文件中,我只得到消息:
mensaje de trace
mensaje de debug
mensaje de info
mensaje de metodo
mensaje de warn
mensaje de error
mensaje de fatal
您在 lOGFILE
中有小写 l
拼写错误。
log4j.appender.lOGFILE.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [ %-5p ] %l - %m%n
需要是:
log4j.appender.LOGFILE.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [ %-5p ] %l - %m%n