Documentation

You are viewing the documentation for the 2.0.8 release in the 2.0.x series of releases. The latest stable release series is 2.4.x.

§ログの設定

Play 2.0 のログ機能の実装には、logback が使われています。

§application.conf でログレベルを設定する

ログレベルを設定する一番簡単な方法は、conf/application.conflogger というキーを使うことです。

Play にはデフォルトで application という名前のロガーが用意されていて、デフォルトの Logger を利用してログを出力する場合はこれが使われます。

# Root logger:
logger=ERROR

# Logger used by the framework:
logger.play=INFO

# Logger provided to your application:
logger.application=DEBUG

一番上の階層の logger の設定は全てのログ出力に影響します。さらに、特定のライブラリに対するログレベルの指定も application.conf に記述します。例えば、Spring に対して TRACE のログレベルを設定する場合は、次のように記述します。

logger.org.springframework=TRACE

§logbackの設定

デフォルトでは 2 つの appender が定義されています。ひとつは標準出力へのログ用、もうひとつは logs/application.log へ出力するログ用です。

logback を完全にカスタマイズしたい場合も、設定ファイル conf/logger.xml を定義するだけです。Play が使うデフォルトの設定ファイルは以下の通りです。

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

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

§logback 設定ファイルの変更

さらに、システムプロパティによって別の logback 設定ファイルを指定することができます。
本番環境 (production モード) で実行する場合に非常に便利です。

§-Dlogger.resource を使う

別の logback 設定ファイルをクラスパスからロードする場合に指定します:

$ start -Dlogger.resource=conf/prod-logger.xml

§-Dlogger.file を使う

別の logback 設定ファイルをファイルシステムからロードする場合に指定します。

$ start -Dlogger.file=/opt/prod/logger.xml

§-Dlogger.url を使う

別の loback 設定ファイルを URL からロードする場合に指定します:

$ start -Dlogger.url=http://conf.mycompany.com/logger.xml