我正在处理在tomcat7环境中部署的2个WAR应用程序(让他们称之为app1.war和app2.war)。 通过setenv.sh我将类路径扩展到位于/ opt / configurations中的共享文件夹。
我想以这种方式构建我的配置:
configurations/
├── app1.properties
├── app2.properties
├── logback-app1.xml
└── logback-app2.xml
如何告诉每个应用程序从共享类路径中读取不同的logback * .xml文件?换句话说,如何告诉app1.war只读取logback-app1.xml和app2.war以只读取logback-app2.xml。
答案 0 :(得分:0)
这里有一个问题的答案:http://vtanase.blogspot.com/2012/07/how-to-create-different-logback.html
重点是使用在每个web.xml中声明的不同JNDI条目
<env-entry>
<env-entry-name>logback/configuration-resource</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>app1/logback.xml</env-entry-value>
</env-entry>
并添加一个logback属性来查看JNDI:
JAVA_OPTS="$JAVA_OPTS -Dlogback.ContextSelector=JNDI"
如果问题是为每个war分离生成的日志文件,还有另一种方法可以使用SiftingAppender使用一个logback.xml来实现。 可以找到示例: