You are viewing the documentation for the 2.1.5 release in the 2.1.x series of releases. The latest stable release series is 2.4.x.
§ログの設定
Play 2.0 のログ機能の実装には、logback が使われています。
§application.conf でログレベルを設定する
ログレベルを設定する一番簡単な方法は、conf/application.conf
の logger
というキーを使うことです。
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/application-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=prod-logger.xml
§-Dlogger.file
を使う
別の logback 設定ファイルをファイルシステムからロードする場合に指定します。
$ start -Dlogger.file=/opt/prod/logger.xml
§-Dlogger.url
を使う
別の logback 設定ファイルを URL からロードする場合に指定します:
$ start -Dlogger.url=http://conf.mycompany.com/logger.xml