我在 Play 2.1.1 中为我的项目使用自定义日志记录配置。因此,我在 conf 目录中创建了一个 application-logger.xml。这就像一个魅力。
现在我想在日志配置文件中添加一个 logback 评估器(基于官方文档: http: //logback.qos.ch/manual/layouts.html#Evaluators)以仅在特定情况下输出 %caller 信息:
<configuration>
<evaluator name="DISP_CALLER_EVAL">
<expression>logger.contains("a specific string")</expression>
</evaluator>
<conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" />
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${application.home}/logs/application.log</file>
<encoder>
<pattern>%date - [%level] - %logger in %thread in caller: %caller{3, DISP_CALLER_EVAL}
%message%n%xException%n</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%coloredLevel %logger{15} - %message%n%xException{5}</pattern>
</encoder>
</appender>
<logger name="play" level="INFO" />
<logger name="application" level="DEBUG" />
<root level="ERROR">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
但是,如果我在将评估程序片段添加到日志配置后启动播放服务器,则根本不会发生日志记录,并且服务器根本不会执行代码。看起来服务器崩溃了。
有没有人在 Play 2.1.1 上有一个带有评估规则的日志配置的工作示例?