請問為什么日志會打印2次?
環境配置如下:spring3 hibernate4 Apache Tomcat/7.0.47 JDK1.7.0.59
log4j 1.2.17
使用spring MVC,關于log4j的web.xml地方配置如下:
<context-param>
<param-name>log4jConfigLocation</param-name>
<!-- 開發環境 -->
<param-value>classpath:properties/development/log4j.properties</param-value>
<!-- 生產環境 -->
<!-- <param-value>classpath:properties/production/log4j.properties</param-value> -->
<!-- 測試環境 -->
<!-- <param-value>classpath:properties/testing/log4j.properties</param-value> -->
</context-param>
<!-- Spring的log4j監聽器 -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
log4j.properties配置如下:
log4j.rootLogger=debug, Console, test, Spring, Hibernate
#log4j.appender.rootlog=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.rootlog.file=../logs/All.log
#log4j.appender.rootlog.layout=org.apache.log4j.PatternLayout
#log4j.appender.rootlog.Append=true
#log4j.appender.rootlog.DatePattern='-'yyyy-MM-dd'.log'
#log4j.appender.rootlog.layout=org.apache.log4j.PatternLayout
#log4j.appender.rootlog.layout.ConversionPattern=%-5d [%-4p] [%r] [%t] [%l] - %m%n
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%-5d [%-4p] [%r] [%t] [%l] - %m%n
#test
log4j.logger.test=debug,Mall
log4j.appender.test=org.apache.log4j.DailyRollingFileAppender
log4j.appender.test.File=../logs/test.log
log4j.appender.test.Append=true
log4j.appender.test.DatePattern='-'yyyy-MM-dd'.log'
log4j.appender.test.layout=org.apache.log4j.PatternLayout
log4j.appender.test.layout.ConversionPattern=%-5d [%-4p] [%r] [%t] [%l] - %m%n
原來tomcat的日志都往catania.out打印,非常不方便,改造后,日志能按要求在tesg.log記錄了,但是里面的日志內容都是雙份。
如:
而且catania.out中也會有日志。請教下如何能不打印雙份日志記錄,并且catania.out也不記錄業務日志了,可以記錄tocmat啟動的信息,tomcat配置沒做什么改動,它仍然輸出localhost和manager日志