今回は、処理の実行中にコンソール等にメッセージを出力する方法を見てみましょう。 これには Mojo#getLog() メソッドで取得できる Log オブジェクトを使います。
Log インターフェース
Log インターフェースは、定義されているメソッド、使い方などが commons-logging に定義されてある Log インターフェースと殆ど同じです*1。 ただし、メッセージを作成するための引数の型が String ではなく CharSequence になっている部分が違います。 これは、String だけでなく、StringBuilder や StringBuffer なども引数に渡せるようにするためのようです。
各種メソッドは以下の通り:
メソッド名 | 内容 | 使用目安 | コンソール出力 | コードガード・メソッド |
---|---|---|---|---|
error | エラー | 実行時のエラー、予期されていない状態に陥ったとき | Yes | isErrorEnabled() |
warn | 警告 | 非推奨な API を使用したなどの、好ましくない状況、状態に陥ったとき | Yes | isWarnEnabled() |
info | 情報 | 関心のある何らかのイベントが発生したとき | Yes | isInfoEnabled() |
debug | デバッグ | システムの処理の流れを記録するとき | No | isDebugEnabled() |
コードガード・メソッドとは、(大抵パフォーマンスのために)実際にメッセージ出力を行う前にそれらの出力が可能かどうかを判定するためのメソッドです。
if(isWarnEnabled()) warn("何らかのメッセージ");
という風に使います。