我正在查看由tomcat加载的spring的输出,并且有一些非常奇怪的东西......一切都是重复的。什么会导致这个?无论是什么,它都会导致我的应用程序以奇怪的方式运行。
其他信息:
该应用程序是一个Web应用程序。使用web.xml文件中定义的上下文加载器(?)加载所有spring信息。我的配置文件分为6个(左右)文件。
示例调试输出:
[DEBUG,DefaultFilterInvocationDefinitionSource,main]添加了URL模式:/
**
;属性:[REQUIRES_SECURE_CHANNEL][DEBUG,DefaultFilterInvocationDefinitionSource,main]添加了URL模式:/
**
;属性:[REQUIRES_SECURE_CHANNEL][DEBUG,DefaultFilterInvocationDefinitionSource,main]添加了URL模式:/
**
;属性:[ROLE_READ,ROLE_UPDATE][DEBUG,DefaultFilterInvocationDefinitionSource,main]添加了URL模式:/
**
;属性:[ROLE_READ,ROLE_UPDATE][DEBUG,AbstractFallbackMethodDefinitionSource,main]添加安全方法[CacheKey [com.service.impl.FooServiceImpl; public abstract java.lang.Boolean com.service.IFooService.saveOrUpdateFoo(com.model.Foo2,java.lang.String)thrus org.springframework.dao.DataAccessException]] with attribute [[ROLE_UPDATE]]
[DEBUG,AbstractFallbackMethodDefinitionSource,main]添加安全方法[CacheKey [com.service.impl.FooServiceImpl; public abstract java.lang.Boolean com.service.IFooService.saveOrUpdateFoo(com.model.Foo2,java.lang.String)thrus org.springframework.dao.DataAccessException]] with attribute [[ROLE_UPDATE]]
[INFO,AbstractSecurityInterceptor,main]验证的配置属性
[INFO,AbstractSecurityInterceptor,main]验证的配置属性
答案 0 :(得分:2)
您确定日志记录配置中的某些内容不会多次将每个类别/记录器添加到appender吗?
对于log4j来说,这是可能的,不确定JCL或Tomcat最新版本在封面下使用的内容。
答案 1 :(得分:0)
在Tomcat中,如果您的应用程序配置为默认应用程序,则必须将其部署在/ root目录下。如果没有,那么Tomcat将启动您的应用程序的2个副本,一个放置它的位置,以及一个它预期默认值的位置。
这可以解释这里发生的事情,假设我正确地回忆了所有这些。
答案 2 :(得分:0)
这里的答案和评论非常可能是正确的。
将您的log4j配置发布为您的问题的更新/编辑,然后我会将修补程序作为更新/编辑发布到我的答案。
答案 3 :(得分:0)
我遇到了同样的问题,这只是一个log4j配置问题,这是我的原始配置
<category name="org.springframework">
<level value="INFO"></level>
<appender-ref ref="basicAppender" />
</category>
在此配置中,org.springframework包中的所有类都将记录一次,因为我没有将additivity属性设置为false,记录器“org.springframework”将再次记录,这导致所有日志都是复制。所以我只是将additivity属性设置为false,它可以工作。嗯,这只是我的情况,可能会对你有所帮助。