Software development of explosion! -夢の破片(カケラ)たちの日々-

ソフトウェア開発を中心としたコンピューター関連のネタを扱ったブログです

Software development is passion and explosion!

Google App Engine で logback 0.9.24 を使う

Google App Engine で 最新のlogback 0.9.24(恐らく0.9.19〜0.9.24はすべて)を動かすためのパッチ(?)を見つけたので載せておきます。
java.net.InetAddress を使わないようにするだけみたいです。

package ch.qos.logback.core.util; 
import ch.qos.logback.core.Context; 
import ch.qos.logback.core.CoreConstants; 
import ch.qos.logback.core.spi.ContextAwareBase; 
public class ContextUtil extends ContextAwareBase { 
        public ContextUtil(Context context) { 
                setContext(context); 
        } 
        /** 
         * Add the local host's name as a property 
         */ 
        public void addHostNameAsProperty() { 
                context.putProperty(CoreConstants.HOSTNAME_KEY, "yourhostname"); 
        } 
} 

あとは、logbackからjava.util.logging へブリッジするAppender(ベースはこれ。確か、最新版だとLayoutとかその辺をAppender内で処理するとかしないと駄目だったはず。今、ソースが手元に無いので、最新版は明日以降)を使えば、とりあえずはいいとは思うのだけれども…
Google App Engine for Java用ロギングフレームワークを誰か作ってくれないものか…コンソールのレベルと照らし合わせるのが面倒なんだよね。java.util.loggingでも同じだけどさ。

あれだ、よく考えたら、GoogleがLoggingServiceを作って提供してくれたらいいんだ。どうせ、java.util.loggingだってプロダクション環境では中身はオリジナルなんだろうから。(Patternクラス作ってlogging.propertiesで指定してもプロダクション環境だと動かないしね。)