先日、GAE/J (Google App Engine for java) で log4jを使うの続きです。

こんな素敵なエントリーを発見!

GAE/Jでlog4jの日付を日本時間で出力する。- 今週のキャリッジさん

GAEの管理コンソールの[Logs]の表示を日本時間にする事は出来ないけど、ログ出力の中身を日本時間にする事は出来る模様。

logging.apache.orgから、apache-log4j-extras-1.0.tar.gz を取ってきて、解凍した apache-log4j-extras-1.0.jar を、war/WEB-INF/lib にコピーして、eclipseのビルドパスに追加しました。

それから、src/log4j.properties を修正します。

log4j.appender.A1.layout=org.apache.log4j.PatternLayout
↓
log4j.appender.A1.layout=org.apache.log4j.EnhancedPatternLayout

log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%F:%L] - %m%n
↓
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}{Asia/Tokyo} %-5p - %m%n

war/WEB-INF/appengine-web.xml 書いときます。

<system-properties>
    <property name="org.apache.commons.logging.Log" value="org.apache.commons.logging.impl.Log4JLogger"/ >
    <property name="java.util.logging.config.file" value="WEB-INF/classes/log4j.properties"/>
</system-properties>