我已经使用conf文件夹中的logger.xml文件格式化了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>
您似乎使用Play 2.0.x – 2.1.x,因为您正在使用play stage或play dist生成的启动脚本.
根据 this section in the docs并假设您的logger.xml在您的conf目录中,那么您的文件的建议正确配置将是:
原文链接:https://www.f2er.com/xml/292702.html根据 this section in the docs并假设您的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