javax.servlet.Filterを実装してHTTPリクエストの内容を解析してログを出力する便利なFilterクラスを紹介します。 ![]() javax.servlet.FilterとはWebアプリケーション構築する上で、メインとなる業務処理のほかに、その前後で共通した副次的な処理を行う必要があります。例えば、クライアントの認証や、権限チェック、ロギング等です。このような副次的な処理をそれぞれのリソースでコーディングすると、ソフトウェアの保守性を妨げる大きな原因となり、メンテナンスのしにくいアプリケーションになってしまいます。 ログフィルタを使ってみるHTTPリクエストにフィルタを通して、HTTPリクエストを解析するログフィルタを実際に使ってみましょう。今回はTomcatに最初からあるexamplesアプリケーションを使用します。 以下の設定を行うとこのフィルタはすぐに実行できます。 <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フレームワークを使用した場合のurl-patternは以下になります。 <url-pattern>*.do</url-pattern> Sessions Exampleの画面を実行したログ出力結果を確認してみてください。 ![]() ログ出力結果 ※もっとも詳細なログを出力した場合です。 出力するログ情報とログレベル●ログ出力内容
ログレベルは以下のように使い分けると良いでしょう。
初期化パラメータlogging.Levelを設定することで、ログの出力レベルを変更できます。 例: <init-param> <param-name>logging.Level</param-name> <param-value>INFO</param-value> </init-param> ソースコード |
|