Jetty MDC处理程序不提供contextPath

时间:2016-04-19 09:53:33

标签: jetty jetty-9

在具有Java 9.3.8.v20160314的AWS EC2 Linux机器上运行的

Jetty 1.8.0_51在两个不同的dir + context.xml下有两个Web应用程序 - webapps/app1webapps/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

为什么它是空的?

0 个答案:

没有答案