ブロガーの実験室スポンサー広告
> Google App Engine/Java Log4jでロギング> ブロガーの実験室パソコンな日々
> Google App Engine/Java Log4jでロギング
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


--.--.--|スポンサー広告||TOP↑
http://d.hatena.ne.jp/tetsuya_odaka/20090731/1249031693

Google App Engine/Javaで commons-logging+Log4jでロギングする。Add Star

| 18:14 | はてなブックマーク -  Google App Engine/Javaでcommons-logging+Log4jでロギングする。 -
 北海道を愛するプログラマの覚書  Google App 
Engine/Javaでcommons-logging+Log4jでロギングする。 - 北海道を愛するプログラマの覚書 のブックマークコメント

Google App Engineのスタブ(appengine-web.xml)に

<system-properties>
    <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
</system-properties>

http://d.hatena.ne.jp/tetsuya_odaka/20090731/1249031693

とあるように、デフォル トの設定ではjava.util.logging を使う設定になっている。

これと一緒に、src下 にlog4j.propertiesの雛形が用意されている。

先のログでDWR2を配備した際に、commons-loggingを配置した。DWRは 「org.directwebremoting.util.CommonsLoggingOutput」という奴が、commons-logging を使って、Infoレベルで余計なログを吐く。

開発の際には、debugログが必要になるので、log4jを 使う設定に変えてみる。

log4j.jarの追加

war/WEB-INF/libに、手持ちのlog4j-1.2.15.jarをコピー(ちょいといい加減)。


appengine-web.xmlの変更

commons-logging は、システムプロパ ティーの設定を見に行く。これは、(上記のように)appengine-web.xmlに設定されているので、これを変更する。

<system-properties>
    <property name="org.apache.commons.logging.Log" value="org.apache.commons.logging.impl.Log4JLogger"/>
</system-properties>

lo4j.propertiesの変更

A2というアペンダーを追加する。rootをDEBUGにして、DWRパッケージは WARN以上に設定。

log4j.rootLogger=DEBUG,A2
log4j.appender.A2=org.apache.log4j.ConsoleAppender
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n
log4j.logger.org.directwebremoting=WARN,A2

Demo.javaの変更

debugログを吐くように、Demo.javaを変更。呼び出されたら「say hello called. '渡された値(name)'」をConsoleに出力する。

package test;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * DWRのデモ
 * 
 * 名前(name)を受け取って、「こんにちは、name」を返す。
 * 
 */
public class Demo {
    
    private static final Log log = LogFactory.getLog(Demo.class);
    
    public String sayHello(String name) {
        log.debug("say hello called. "+name);
        return "こんばんわ " + name + " さん";
    }
}

デプロイと実 行

いつもどおりにデプロイし て、以下の画面を実行した。

f:id:tetsuya_odaka:20090729194249p:image

以下がGAEの 管理画面に上がったログ。時刻表示は米 国時間っぽい。サーバーのシ ステム時刻かなぁ。直し方が分からない(クラウド環境 でそもそも直せるのかな。とりあえず、スルー)。DEBUGモードで書き出されたことが分かるが、GAE上はInfomationの扱いになっている。それ と、日本語はログに吐き出せなかった。できるのかな(これもスルーしとこう)?


f:id:tetsuya_odaka:20090729193729p:image


(注記)上の例では、昔風にlog4j.propertiesになっているが、xml形式のlog4j.xmlにしてもOK。



2010.06.29|パソコンな日々コメント(0)TOP↑
名前:
コメントタイトル:
メールアドレス:
URL:
コメント:

パスワード:
管理人だけに表示:
管理者にだけ表示を許可
カテゴリー
最近の記事
最近のコメント
最近のトラックバック
ブログ検索
管理人のブログ一覧
管理人へメール

名前:
メール:
件名:
本文:

月別アーカイブ
プロフィール

やまもも実験室

Author:やまもも実験室
FC2ブログへようこそ!

RSSフィード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。