对于我的spring应用程序,我要求将log4j.xml移到war文件之外。我一直在寻找解决方案,并找到了以下方法:
我想知道解决这个问题的最佳方法是什么。我相信Spring应该让它变得简单,只是我对此并不多。
答案 0 :(得分:2)
您可以在上下文配置文件中指定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>/any/path/log4j.xml</value>
</list>
</property>
</bean>
来源http://helpdesk.objects.com.au/java/how-to-specify-log4j-configuration-in-spring-application
答案 1 :(得分:0)
您可以查看org.springframework.util.Log4jConfigurer
。您可以将log4j.xml的位置传递给此类。它还负责解析属性占位符。
答案 2 :(得分:0)
您可以在web.xml中使用org.springframework.web.util.Log4jConfigListener
- 只需添加以下元素:
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>../path/to/config</param-value>
</context-param>