|
javax.servlet.Filterを?qū)g裝してHTTPリクエストの內(nèi)容を解析してログを出力する便利なFilterクラスを紹介します。 ![]() javax.servlet.FilterとはWebアプリケーション構(gòu)築する上で、メインとなる業(yè)務(wù)処理のほかに、その前後で共通した副次的な処理を行う必要があります。例えば、クライアントの認(rèn)証や、権限チェック、ロギング等です。このような副次的な処理をそれぞれのリソースでコーディングすると、ソフトウェアの保守性を妨げる大きな原因となり、メンテナンスのしにくいアプリケーションになってしまいます。 ログフィルタを使ってみるHTTPリクエストにフィルタを通して、HTTPリクエストを解析するログフィルタを?qū)g際に使ってみましょう。今回はTomcatに最初からあるexamplesアプリケーションを使用します。 以下の設(shè)定を行うとこのフィルタはすぐに実行できます。 1.ソースコードを取得してコンパイルする。 2.コンパイルしたクラスファイルを、「/examples/WEB-INF/classes」配下に配置します。 3.web.xmlに以下の定義を設(shè)定する。 <filter>
<filter-name>LogFilter</filter-name>
<filter-class>LogFilter</filter-class>
<init-param>
<param-name>logging.Level</param-name>
<param-value>FINE</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>LogFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
※Strutsフレームワークを使用した場(chǎng)合のurl-patternは以下になります。<url-pattern>*.do</url-pattern> Sessions Exampleの畫面を?qū)g行したログ出力結(jié)果を確認(rèn)してみてください。 ログ出力結(jié)果 ※もっとも詳細(xì)なログを出力した場(chǎng)合です。 出力するログ情報(bào)とログレベル●ログ出力內(nèi)容
ログレベルは以下のように使い分けると良いでしょう。
初期化パラメータlogging.Levelを設(shè)定することで、ログの出力レベルを変更できます。 例: <init-param>
<param-name>logging.Level</param-name>
<param-value>INFO</param-value>
</init-param>
ソースコード |
|
|