SpringのLog4jConfigListener

Springを使う際、web.xml

  <context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/log4j.properties</param-value>
  </context-param>
	
 <listener>
   <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  </listener>

と書いておくと、log4jConfigLocationにセットしたパスのlog4j設定ファイルを読んでくれます。
ただし、このLog4JConfigListenerはグローバル領域に設定を引っ掛けておくみたいで、同じ設定をしたアプリを2つデプロイすると、エラーになってしまいます。(Tomcat5.5で確認)
この場合、

  <context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>APPNAME</param-value>
  </context-param>

APPNAME部分は、各アプリごとにユニークの値をセットします。このコンテキストパラメータをセットすることで、各アプリごとに設定をすることが出来ます。