2系からPlay frameworkのロギングがlog4jではなくlogbackになっています。
AppenderとLoggerの設定をおこなうという設定方法の概念はlog4jとあまりかわらないのでlog4jを触ったことがあればすんなり受け入れられると思います。
Appenderは下記URLで標準のものをチェックできます。
よく使うのはFileやSyslogでしょうか。
playで設定するにはconf/logger.xmlを作成します。
LOCAL3で出力する場合は下記のように書きます。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" />
<appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
<syslogHost>localhost</syslogHost>
<port>514</port>
<facility>LOCAL3</facility>
<suffixPattern>%date - [%level] - [%thread] %logger %msg</suffixPattern>
</appender>
<logger name="play" level="INFO" />
<logger name="application" level="INFO" />
<root level="INFO">
<appender-ref ref="SYSLOG" />
</root>
</configuration>
違う名前にしたい場合は起動オプション-Dlogger.xxxxを指定します。
xxxxの部分にはresource, file, urlを利用できます。
./target/universal/stage/bin/[yourapp] -Dlogger.resource=logger-prod.xml
SyslogAppenderはTCPでログを転送します。syslogサーバで受け取る側がplay起動時にTCPで待ち受けていて接続可能である必要があります。
rsyslogの場合は/etc/rsyslog.confに下記の設定を追加してあらかじめrsyslogを再起動しておく必要があります。
$ModLoad imudp
$UDPServerRun 514
$InputTCPServerRun 514
local3.* /var/log/myapp.log
これでログローテーションを設定、Fluentdでソースを上記ファイルにして運用すると楽です。
Fluentd用のAppenderなどあればその方が効率がいいのかもしれませんがrsyslogの実績を考えると当面この方が安心です。