请问有人见过log4j会打印2遍日志的吗?如何能解决?

发布于 2021-11-26 05:41:34 字数 2915 浏览 792 评论 4

环境配置如下: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日志

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

虐人心 2021-12-01 15:49:08

目测是异步代码查询了两次,

秉烛思 2021-12-01 04:09:19

log4j.additivity.test = false,加上这句

毁梦 2021-11-30 21:21:39

引用来自“K袁”的评论

看日志都知道不是同一个Thread执行的,你居然给我说打印了两次

小情绪 2021-11-29 03:08:25

看日志都知道不是同一个Thread执行的,你居然给我说打印了两次

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文