You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by Apache Wiki <wi...@apache.org> on 2005/04/06 03:58:20 UTC

[Ws Wiki] Update of "ja/axis/LogWithServletEngine" by ToshiyukiKimura

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Ws Wiki" for change notification.

The following page has been changed by ToshiyukiKimura:
http://wiki.apache.org/ws/ja/axis/LogWithServletEngine

The comment on the change is:
Axis Wiki in Japanese

New page:
##language:ja

'''質問: Axis と自分のアプリケーションを、サーブレットエンジンと同じログシステムを使うようにするにはどうすればいいのですか?'''

回答: 以下のことをします。

 * 使用するロガーとそのプロパティをサーブレットエンジンレベルで定義します。
 * 矛盾するロガー定義とプロパティファイルを axis レベルとアプリケーションレベルから取り除きます。
 * jakarta-commons-logging (Axis と{{{Jetty}}}が使用しています) を使ってログ機能をプログラミングします。

{{{Axis 1.1、Log4j 1.2.8、Jetty 4.2-14rc1}}}の例を挙げます。

1) log4j を含む Jetty を使用します。(例えば Jetty-4.2.14rc1-all.zip)

2) jetty-plus の機能を使えるように設定します (http://jetty.mortbay.org/jetty/plus/ にドキュメントがあります)

2a) jetty.xml を編集します。

 * <Configure class="org.mortbay.jetty.Server"> を <Configure class="org.mortbay.jetty.plus.Server"> で置き換えます。

 * 以下の行を追加します。

{{{
  <Call name="instance" class="org.mortbay.util.Log">
    <Call name="disableLog"/>
    <Call name="add">
      <Arg>
        <New class="org.mortbay.util.log4j.Log4jSink">
          <Call name="start"/>
        </New>
      </Arg>
    </Call>
  </Call>
}}}

3) log4j.properties を ${jetty.home}/etc にコピーします。

4) axis.jar から log4j.properties と simplelog.properties を取り除きます。

5) Jetty を Jettyplus として起動します。

6) log4j.configuration を定義します。 - 5と6は以下のコマンドで Jetty を起動することによっても行えます。

{{{
 java -Djetty.server=org.mortbay.jetty.plus.Server -Dlog4j.configuration=log4j.properties -jar start.jar
}}}

7) WEB-INF/lib ディレクトリから log4j と commons-logging の jar ファイルも削除することができます。これはする必要はありませんが、jar にキスすることで人生が少し豊かになります。一つよりも多くの log4j が起動していることはあまり好ましくありません。

log4j.properties のカテゴリは次のようなものになります。

{{{
log4j.rootCategory=WARN, CONSOLE
log4j.logger.org.mortbay=WARN, JETTY
log4j.logger.org.apache.axis=WARN, AXIS
log4j.logger.com.mycompany=WARN, MYCOMPANY
}}}

Q: なぜ?

回答: ロギングは良いことです。正しくない設定がされたロギングにはセキュリティ的なリスクがあります。全てのロギングの設定を1箇所で行えば、正しくない設定を行うのが少し難しくなります。最大ファイルサイズとインデックスを指定してロールオーバーファイルロガーを使用すれば、一つのサーブレットエンジンインストールによって作成される、正確なサイズ制限のあるログファイルを持つことができます。ログでディスクを満杯にしたくないでしょう?