logging - 玩2.2生产模式登录Heroku

标签 logging heroku playframework playframework-2.2

我已经在 Heroku 上部署了一个 Play 2.2 应用程序。目前,在我的应用程序中写入我的记录器的消息没有出现在 Heroku 日志中,因为 Play 应用程序(显然)正在写入标准输出以外的其他内容。

在开发模式下,我的记录器工作正常(它们写入标准输出)。我希望我的应用程序在生产模式下也将其日志记录写入标准输出,因此它最终会出现在 Heroku 的应用程序日志中。

我是否必须对 Play 的配置进行更改才能实现此目的?

最佳答案

我在应用程序中创建了一个名为 conf/application-logger.xml 的文件。不需要对 application.conf 进行其他更改,现在日志记录在 Heroku 上正常工作。

http://www.playframework.com/documentation/2.2.x/SettingsLogger有这些说明。但是,我的配置与该页面上的示例不同,因为我删除了 FILE 的附加程序,只保留了 STDOUT 附加程序的附加程序。

<configuration>

  <conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" />

  <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="INFO" />
  <logger name="mycustomlogger" level="INFO" />

  <!-- Off these ones as they are annoying, and anyway we manage configuration ourself -->
  <logger name="com.avaje.ebean.config.PropertyMapLoader" level="OFF" />
  <logger name="com.avaje.ebeaninternal.server.core.XmlConfigLoader" level="OFF" />
  <logger name="com.avaje.ebeaninternal.server.lib.BackgroundThread" level="OFF" />
  <logger name="com.gargoylesoftware.htmlunit.javascript" level="OFF" />

  <root level="ERROR">
    <appender-ref ref="STDOUT" />
  </root>

</configuration>

关于logging - 玩2.2生产模式登录Heroku,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19435992/

相关文章:

c# - 调用 Shutdown() 后重新启动 log4net 内存附加器

javascript - Node JS : NotAuthorizedError 上的 Firebase 身份验证失败

heroku - 如何在 Slack 中使用 Hubot

web-services - Owin TestServer 在测试时多次记录 - 我该如何解决这个问题?

java - 日志信息未在控制台上打印

java - Play Framework : Cannot find the install command

java - 玩! java 。将请求参数传递给@With 注解

java - 无法使用 JPA 持久保存 HashMap

c# - Windows Phone 8 日志记录

Python Flask heroku 应用程序错误