連載
» 2005年07月21日 00時00分 公開

CoolなEclipseプラグイン(5):正規表現の入力・テストを行うプラグイン (2/3)

[岡本隆史(NTTデータ オープンソース開発センタ),@IT]

2.Log4Eプラグイン

 Log4Eはログ出力コードの入力を支援するプラグインです。プログラム中のログを埋め込む場所は、メソッドの先頭やメソッドの戻り値を返す直前であったり、例外が発生した場所など、おおよそ決まっています。Log4Eはこのような定型的なログ出力のコーディングを支援する機能があります。

■特長

・複数のログ実装に対応
 Log4j、Commons Logging、JDK 1.4のLogging APIに対応したコードの入力をサポートしています。

・定型的な場所へのコード入力支援
 メソッドの入力値と戻り値、例外発生個所など、お決まりの位置のログ出力コードの入力を支援します。

・System.outのスタックトレースの置換
 System.outとException#printStackTraceをログを利用したコードへ置換します。

・パフォーマンスの最適化
 ログレベルのチェックを行っていないログ出力のコードをログレベルのチェックを行うように変更することにより、パフォーマンスの最適化を図ります。例えば、ログの中で文字列の結合などをしているとき、ログ出力を無効にした場合、高いパフォーマンスが得られるようになります。

 Log4Eには、無償のFreeと有償のProがあります。Proでは、プロジェクトごとにLog4Eの設定を変更できたり、getter/setterを無視したり、編集可能なプレビューが利用できるなど、無料で利用できるFree版より高機能となっています。ここでは、無償で利用できるFreeを紹介します。

■入手方法

 Log4Eのダウンロードサイト(http://log4e.jayefem.de/index.php/Download)から、Eclipse 3.x Free:の項目にあるプラグインde.jayefem.log4e_free_1.0.0.zipをダウンロードします。

■使い方

 まず、ログ実装の設定を行います。

 [ウィンドウ]→[設定]→[Log4E]でLog4Eの設定画面を表示して、[Templates]欄でログの実装を選択します。ログは、[log4j]、[commons-logging]、[jdk1.4]の中から選択します。デフォルトの設定は[log4j]となっていますので、log4jを利用する場合は、特に設定は必要ありません。本稿では、[commons-logging]を利用した例で説明します。

図4 JLog4Eの設定 図4 JLog4Eの設定

 Javaエディタのコード中で、右クリック→[Log4E]を選択し、次のメニューを選択します。

図5 Log4Eのメニュー 図5 Log4Eのメニュー

 各メニューの機能は次のとおりです。

項目 機能
Declare Logger ロガーの宣言を追加
Log this variable 変数をログに出力
Log at this position... 現在の場所にログを埋め込む
Log this method メソッドの開始位置と、メソッドを抜ける前の位置(return/throw/メソッドの終わり)にログを埋め込む
Log this class クラス内のメソッドの先頭とメソッドから抜ける直前、例外が発生した直後の場所にログを埋め込む
Re-apply in this method 現在のメソッドにもう一度Log4Eによるログ出力ルールを適用
Re-apply in this class 現在のクラスにもう一度Log4Eによるログ出力ルールを適用
Substitute System.out's in this method メソッド内のSystem.outログを利用したコードに書き換える
Substitute System.out's in this class クラスド内のSystem.outをログを 利用したコードに書き換える

・動作例
 ここでは、[Log at this position...]を選択します。すると、次のようなログ設定画面が表示されます。

図6 ログ設定画面 図6 ログ設定画面

 各項目に入力する値は、次のとおりです。

・Logger message
 ログメッセージを入力します。

・Method parameters
 ログに出力するメソッドのパラメータを選択します。選択は[Shift]+[Space]キーにより行います。

・Available local variables
 ログに出力するローカル変数を選択します。Include parameters type info、およびInclude variable type infoを選択すると、出力する変数の型情報も一緒に出力します。

 上記の情報を入力し、終了ボタンを押すと、ログ出力コードが生成されます。

図7 挿入されたログ出力コード 図7 挿入されたログ出力コード

 Log4Eを利用すると、ログ出力に必要なコード自動的に生成してくれるので便利です。出力する変数を一覧から選ぶことができるため、変数の書き忘れを防止できたり、if文でログレベルを判別するコードを生成することにより、パフォーマンスの最適化も行うことができます。

Copyright © ITmedia, Inc. All Rights Reserved.

編集部からのお知らせ

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。