3

Heroku に Play 2.2 アプリケーションをデプロイしました。現在、私のアプリのロガーに書き込まれたメッセージは Heroku ログに表示されません。これは、Play アプリが (どうやら) stdout 以外のものに書き込んでいるためです。

開発モードでは、ロガーは正常に動作しています (標準出力に書き込みます)。アプリケーションのロギングを本番モードでも stdout に書き込むようにしたいので、最終的に Heroku のアプリケーション ログに記録されます。

これを実現するために Play の設定を変更する必要はありますか?

4

2 に答える 2

1

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>
于 2013-10-17T20:59:45.143 に答える
1

Papertrail Heroku アドオンhttps://addons.heroku.com/papertrailを使い始めましたが、これまでのところかなり満足しています。

于 2013-10-21T23:27:16.140 に答える