【发布时间】:2017-07-28 17:56:43
【问题描述】:
我正在使用 Play 2.3.7
我在这里阅读了文档
https://www.playframework.com/documentation/2.3.x/SettingsLogger
我在我的 conf 目录下创建了一个名为 application-logger.xml(和 logger.xml)的文件
<configuration>
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
<conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" />
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${application.home}/logs/foo.log</file>
<encoder>
<pattern>%date - [%level] - from %logger in %thread %n%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">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</logger>
<logger name="application" level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</logger>
<root level="off" />
</configuration>
现在我运行我的播放应用程序activator clean run,如果出现错误,它不会在控制台上打印任何内容。也没有创建文件“foo.log”。
根据我对文档的阅读,我认为我的所有应用程序代码都将使用一个名为“application”的记录器,而内部播放将使用一个名为“play”的记录器,因此如果我为这两个记录器定义附加程序,我将拥有一切在控制台和我的文件上。
但这似乎并没有发生。
我已将 application-logger.xml 文件放在 application.conf 文件旁边的 conf 目录中。
我也尝试将我的文件重命名为 logger.xml,但它仍然被忽略了。
编辑::
我什至尝试像这样运行我的应用程序
./activator -Dlogger.resource=logger.xml run
./activator -Dlogger.file=./conf/logger.xml run
但是没有什么可以让播放框架拾取该文件。什么都没有。
【问题讨论】:
-
能否尝试将路径替换为
${application.home}/logs/foo.log?另外,请确保您的application.conf文件中没有关闭日志记录。 -
这些是我的application.conf文件
logger.root = INFO logger.play = INFO logger.application = INFO中的条目
标签: scala playframework