2015-09-25 60 views
1

我的log4j設置如下。當我作爲引導應用程序運行時,日誌將正確寫入控制檯,debug.log和dump.log中。下面是我在我的程序編寫登錄控制檯的debug.logSpring Boot和Log4j問題

static final Logger LOG = Logger.getLogger(EnvironmentLoader.class);  
LOG.info("blah blah!"); 

下面要做的是什麼,我在我的程序做寫入日誌中dump.log

private static final Logger DUMP_LOG = Logger.getLogger("dumpLogger"); 
DUMP_LOG.info("blah blah!"); 

兩個工作正常,如果我作爲Spring Boot App運行。如果我將它打包爲war並在tomcat中運行,DUMP_LOG在dump.log中正確寫入,但LOG未在控制檯或debug.log中寫入。我想知道爲什麼。

log4j.rootLogger=INFO, stdout, debugLog 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d %-5p %c.%M:%L - %m%n 
log4j.appender.stdout.Target=System.out 

log4j.appender.debugLog=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.debugLog.Append=true 
log4j.appender.debugLog.DatePattern='.'dd-MM-yyyy 
log4j.appender.debugLog.File=${catalina.base}/logs/debug.log 
log4j.appender.debugLog.MaxFileSize=10MB 
log4j.appender.debugLog.encoding=UTF-8 
log4j.appender.debugLog.layout=org.apache.log4j.PatternLayout 
log4j.appender.debugLog.layout.ConversionPattern=%d %-5p %c.%M:%L - %m%n 

log4j.category.debugLogger=DEBUG, debugLog 
log4j.additivity.debugLogger=false 

log4j.appender.dumpLog=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.dumpLog.Append=true 
log4j.appender.dumpLog.DatePattern='.'dd-MM-yyyy 
log4j.appender.dumpLog.File=${catalina.base}/logs/dump.log 
log4j.appender.dumpLog.MaxFileSize=10MB 
log4j.appender.dumpLog.encoding=UTF-8 
log4j.appender.dumpLog.layout=org.apache.log4j.PatternLayout 
log4j.appender.dumpLog.layout.ConversionPattern=%d - %m%n 

log4j.category.dumpLogger=DEBUG, dumpLog 
log4j.additivity.dumpLogger=false 

回答

0

以下依賴項解決了該問題。

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-log4j</artifactId> 
</dependency> 
+0

好.. !!莫漢。我希望這會幫助我節省很多時間。謝謝。 –