9.3.8.v20160314
的AWS EC2 Linux机器上运行的 Jetty 1.8.0_51
在两个不同的dir + context.xml下有两个Web应用程序 - webapps/app1
和webapps/app2
为空{ {1}}目录。
我正在尝试让每个webapp在其名称中都有一个带有contextPath的单独日志。
每个应用都定义了以下webapps/ROOT
上下文 -
webapps/appX.xml
关注Example: Centralized Logging with Logback并安装了webapp-logging模块,app正在使用slf4j Logger,而<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/appX</Set>
<Set name="war">
<SystemProperty name="jetty.home" default="."/>/webapps/appX
</Set>
</Configure>
是 -
resources/logback.xml
但这一切都归<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %t %c{0} [%p] %m%n</pattern>
</encoder>
</appender>
<appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
<discriminator>
<key>contextPath</key>
<defaultValue>unknown</defaultValue>
</discriminator>
<sift>
<appender name="FILE-${contextPath}" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${jetty.home}/logs/${contextPath}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>${contextPath}_%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %t %c{0} [%p] %m%n</pattern>
</encoder>
<append>true</append>
</appender>
</sift>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="SIFT"/>
</root>
</configuration>
所有。使用unknown.log
可以很好地工作,并为用于访问服务器的每个域创建单独的文件。
因此servername
似乎没有正确分配contextPath
。
为什么它是空的?