请教下,为什么log4j会打印双份日志而且仍然会往catania.out打印?

anttu 2016-04-09 09:26:53
最初是以为日志都打印在catania.out中,非常不方便维护,便做了改造,改造如下。请教下如何能不打印双份日志记录,并且catania.out也不记录业务日志了,可以记录tocmat启动的信息,tomcat配置没做什么改动

环境配置如下: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记录了,但是里面的日志内容都是双份。
如:
...全文
454 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39721407 2019-09-17
  • 打赏
  • 举报
回复
我也是这么感觉的
anttu 2016-05-11
  • 打赏
  • 举报
回复
没人气的csdn啊,再也不在这里发帖了,哎,每次来这里找问题或思路,都是无功而返。分给回复的童靴
scmod 2016-04-15
  • 打赏
  • 举报
回复
catalina的记录是不是tomcat配置文件配置的吧好像.... 人好像是不多...但是也没别的地方去啊..
scmod 2016-04-15
  • 打赏
  • 举报
回复
catalina的记录是不是tomcat配置文件配置的吧好像.... 人好像是不多...但是也没别的地方去啊..
Intboy 2016-04-14
  • 打赏
  • 举报
回复
log4j.properties配置如下: log4j.rootLogger=debug, Console, test, Spring, Hibernate 把console去掉就不会在catania里面打印了。
anttu 2016-04-14
  • 打赏
  • 举报
回复
CSDN看来也没什么人气和氛围,哎,改换地方了
anttu 2016-04-11
  • 打赏
  • 举报
回复
没人回答,难道是问题太初级了,我做了测试确实如此,log4j的配置文件我调整过几次都如此,test.log里面会把业务日志打印2次,这样导致日志结果太大,想修复。 还有catania.out也想弄成别记业务日志了,就专心记录它自己的tomcat得了,求大神帮解疑答惑。感谢

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧