blancoLogMessage[blanco,ログメッセージ,Log,message,java.util.logging] blancoLogMessageは、「ログメッセージ定義書」という Excelブックから、ログメッセージを扱うソースコードを自動生成します。 |
広告: イマドキのIDE事情: Eclipseベースの統合翻訳環境「Benten」を使ってみよう 09/27 たげぞうさんの手による Benten 紹介記事! |
blanco Framework | 一覧 | ドキュメント | Download (ダウンロード) | SourceForge.jp |
AntTask | BatchProcess | Cg | CharacterGroup | Commons | Constants |
Csv | Db | EclipseDistribution | FixedLength | JSF | Log | Message | NLpack |
Report | ResourceBundle | Service | SOAP | SQL | StringConverter |
StringGroup | Struts | SvnConf | ValueObject |
lib | message |
blancoLogMessageについて |
blancoLogMessageは、「ログメッセージ定義書」という Excelブックから、ログメッセージを扱うソースコードを自動生成します。
視点 自己評価 説明 対応言語 - Java 言語 出現頻度 ★★ ログメッセージを処理させるニーズがある人に有益です。 適用効果 ★★★ ログメッセージ定義書とログメッセージ処理の実装とが同期できます。
ログメッセージ置換文字に関する処理を確実に実現することができます。導入のしやすさ ★★★ 自動生成されるソースコードを理解さえすれば、あとは簡単に導入できます。
EclipseプラグインおよびApache Ant形式によって、簡単に利用することができます。そして、オープンソースのもと配布されています。
ログメッセージ定義書の記入 |
下記のように ログメッセージ定義書という様式に必要項目を記入していきます。
blancoLogMessageプラグインの実行 |
記入が終わったら、Eclipseプラグインの「Javaソースコード生成」ボタンを押すだけで、必要なソースコードを自動生成することができます。
自動生成されたログメッセージ・クラスの利用 |
自動生成されたソースコードは、以下のような記述によって利用することができます。
※実行時には ランタイム・ライブラリは不要です。
利用例 その1
new Sample2LogMessage().logMessage002("置換文字列");
利用例 その2
new Sample2LogMessage().logMessage001(new IllegalArgumentException("例外の例"));
自動生成されたログメッセージ・クラス |
実際に生成されるソースコードは、以下のようになります。
※これとは別に、国際化対応のためのクラスが別途 1 つ自動生成されます。
Sample2LogMessage.java
/* * このソースコードは blanco Frameworkによって自動生成されています。 */ package blanco.sample.logmessage; import java.util.logging.Level; import java.util.logging.Logger; /** * ログメッセージのサンプル。このクラスは単にサンプルです。実際の動作には利用されません。 */ public class Sample2LogMessage { /** * ログメッセージをプロパティファイル対応させるための内部的に利用するリソースバンドルクラス。 */ protected final Sample2LogMessageResourceBundle fBundle = new Sample2LogMessageResourceBundle(); /** * ログメッセージ定義ID[Sample2]、レベル[FATAL]、キー[MESSAGE001]の文字列をロギングします。 * * No.1: * 文字列[メッセージのサンプル。その1。] */ public void logMessage001() { Logger.getLogger("blanco.sample.logmessage").log(Level.SEVERE, "[MESSAGE001] fatal: " + fBundle.getMessage001()); } /** * ログメッセージ定義ID[Sample2]、レベル[FATAL]、キー[MESSAGE001]の文字列をロギングします。 * * No.1: * 文字列[メッセージのサンプル。その1。] * * @param argThrown 例外。 */ public void logMessage001(final Throwable argThrown) { Logger.getLogger("blanco.sample.logmessage").log(Level.SEVERE, "[MESSAGE001] fatal: " + fBundle.getMessage001(), argThrown); } /** * ログメッセージ定義ID[Sample2]、レベル[ERROR]、キー[MESSAGE002]の文字列をロギングします。 * * No.2: * 文字列[メッセージ置換文字[{0}]が置換されます。] * * @param arg0 置換文字列{0}の値。 */ public void logMessage002(final String arg0) { Logger.getLogger("blanco.sample.logmessage").log(Level.SEVERE, "[MESSAGE002] " + fBundle.getMessage002(arg0)); } /** * ログメッセージ定義ID[Sample2]、レベル[ERROR]、キー[MESSAGE002]の文字列をロギングします。 * * No.2: * 文字列[メッセージ置換文字[{0}]が置換されます。] * * @param arg0 置換文字列{0}の値。 * @param argThrown 例外。 */ public void logMessage002(final String arg0, final Throwable argThrown) { Logger.getLogger("blanco.sample.logmessage").log(Level.SEVERE, "[MESSAGE002] " + fBundle.getMessage002(arg0), argThrown); } /** * ログメッセージ定義ID[Sample2]、レベル[WARN]、キー[MESSAGE003]の文字列をロギングします。 * * No.3: * 文字列[メッセージ置換文字[{0}]に加え、もうひとつ[{1}]が置換されます。] * * @param arg0 置換文字列{0}の値。 * @param arg1 置換文字列{1}の値。 */ public void logMessage003(final String arg0, final String arg1) { Logger.getLogger("blanco.sample.logmessage").log(Level.WARNING, "[MESSAGE003] " + fBundle.getMessage003(arg0, arg1)); } /** * ログメッセージ定義ID[Sample2]、レベル[WARN]、キー[MESSAGE003]の文字列をロギングします。 * * No.3: * 文字列[メッセージ置換文字[{0}]に加え、もうひとつ[{1}]が置換されます。] * * @param arg0 置換文字列{0}の値。 * @param arg1 置換文字列{1}の値。 * @param argThrown 例外。 */ public void logMessage003(final String arg0, final String arg1, final Throwable argThrown) { Logger.getLogger("blanco.sample.logmessage").log(Level.WARNING, "[MESSAGE003] " + fBundle.getMessage003(arg0, arg1), argThrown); } …以下略…
ダウンロード (download) |
blancoLogMessageの実行形式は、下記のページからダウンロードすることができます。
ログレベル・マッピング |
ログメッセージ定義書、java.util.logging、org.apache.log4j の間で、ログレベルの表現のマッピングは以下のようになっています。
レベル java.util.logging のログレベル Apache log4j のログレベル 備考 - java.util.logging.Level.FINEST - 「詳細レベル(高)」。
※ログメッセージ定義書に該当レベルは無し。TRACE java.util.logging.Level.FINER org.apache.log4j.Level.TRACE 「詳細レベル(中)」。 DEBUG java.util.logging.Level.FINE org.apache.log4j.Level.DEBUG 「詳細レベル(低)」。 CONF java.util.logging.Level.CONFIG org.apache.log4j.Level.DEBUG 「設定」。
※log4j では、ログメッセージに 「config: 」プレフィクスを付与。INFO java.util.logging.Level.INFO org.apache.log4j.Level.INFO 「情報」。 WARN java.util.logging.Level.WARNING org.apache.log4j.Level.WARN 「警告」。 ERROR java.util.logging.Level.SEVERE org.apache.log4j.Level.ERROR 「致命的」。 FATAL java.util.logging.Level.SEVERE org.apache.log4j.Level.FATAL 「致命的」。
※java.util.logging では、ログメッセージに 「fatal: 」 プレフィクスを付与。
関連するプロダクト |
blancoLogMessage は以下のプロダクトと強い関連性があります。
blancoLogはオープンソース/フリーソフトウェアです |