用于不同tomcat war应用程序的多个logback.xml配置文件

时间:2016-01-28 11:34:30

标签: java tomcat classpath war logback

我正在处理在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。

1 个答案:

答案 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来实现。 可以找到示例: