|
May 21
|
If you do not want to store your log4j configuration in your classes directory then you need to tell log4j where it can find it.
One possibility is to configure it in your applicationContext.xml as shown here
<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>conf/log4j.xml</value>
</list>
</property>
</bean>
If you are running your web application as an expanded war then another option is to use a listener in your web.xml. This will only work on an unexpanded war.
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/resources/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>1000</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
