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