我已使用logger.xml
文件夹中的conf
文件格式化播放生成的日志,以获得所需的格式。在我的本地环境中,当我使用正常的播放命令,如play ~run
或play -Dlogger.resource=logger.xml
时。但是,当我使用play dist
打包并使用命令sudo ./start -Dlogger.resource=logger.xml
启动该过程时,它将打印没有任何格式的默认日志。
logger.xml
<configuration>
<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>%d{HH:mm:ss.SSS} [%level] %class:%method %msg%n </pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%level] %class:%method %msg%n </pattern>
</encoder>
</appender>
<root level="ERROR">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
<logger name="application" level="debug" additivity="false">
<appender-ref ref="STDOUT"/>
<appender-ref ref="FILE"/>
</logger>
</configuration>
答案 0 :(得分:3)
您似乎使用的是Play 2.0.x - 2.1.x,因为您使用的是由start
或play stage
生成的play dist
脚本。
根据{{3}}并假设您的logger.xml
位于您的conf
目录中,则您文件的建议正确配置为:
sudo ./start -Dlogger.resource=logger.xml
然而,事实证明,如果您将Logback配置文件命名为logger.xml
,则Play似乎从类路径中选择默认的logger.xml
配置文件,而不是您的。这可能是为什么文档中配置文件的名称被称为prod-logger.xml
而不仅仅是logger.xml
,但是没有明确解释。
因此,将您的logger.xml
文件重命名为其他内容。例如test-logger.xml
,然后以下内容将正确选择您的Logback配置:
sudo ./start -Dlogger.resource=test-logger.xml