Maven 找不到记录器(org.springframework.web.context.ContextLoader)的追加器
我继承了一堆代码,我注意到在tomcat日志中 log4j:警告:找不到记录器的附加器 (org.springframework.web.context.ContextLoader)。log4j:请警告 正确初始化log4j系统。log4j:请参阅 更多信息 faq链接提到,当找不到默认配置文件log4j.properties和log4j.xml且应用程序未执行显式配置时,会发生这种情况 我怎样才能准确地解决这个问题呢。xml文件具有以下内容。所以我猜是因为没有log4j.xml,而是每个环境都有一个log4j.xml。假设这就是问题所在,我如何正确配置Maven 找不到记录器(org.springframework.web.context.ContextLoader)的追加器,maven,log4j,slf4j,appender,Maven,Log4j,Slf4j,Appender,我继承了一堆代码,我注意到在tomcat日志中 log4j:警告:找不到记录器的附加器 (org.springframework.web.context.ContextLoader)。log4j:请警告 正确初始化log4j系统。log4j:请参阅 更多信息 faq链接提到,当找不到默认配置文件log4j.properties和log4j.xml且应用程序未执行显式配置时,会发生这种情况 我怎样才能准确地解决这个问题呢。xml文件具有以下内容。所以我猜是因为没有log4j.xml,而是每个环境都
<bean id="log4jInitialization"
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="org.springframework.util.Log4jConfigurer" />
<property name="targetMethod" value="initLogging" />
<property name="arguments">
<list>
<value>classpath:log4j-${environment}.properties</value>
</list>
</property>
</bean>
类路径:log4j-${environment}.properties
很少有集体解决方案-
${environment}
的值(假定env
)。您必须注意,将该值附加到文件名。应该存在于项目资源下。在您的例子中,一个名为log4j env.properties
的文件<property name="arguments">
<list>
<value>#{environment + '/log4j.properties'}</value>
</list>
</property>
注意-关于如何在运行时为
环境
分配正确的值,请遵循查找环境
的值解析为什么(可能类似于dev
或prod
,尝试对“环境”进行文本搜索在tomcat下的所有文件中,或者通过查看ps
info),然后在部署的webapp的WEB-INF/classes
目录中的log4j-dev.xml
(或其他名称,取决于实际解析的环境)中放置一个有效的log4j配置。属性${environment}
是否存在?你能做一个测试并发布你的Spring配置吗?
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/${environment}/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>