Java Logging API
ロギングツールをを利用する必要性
ここでいうログとはシステムが出力するログのことで、
- 利用状況のログ
- 動作確認のログ
- エラーログ
などがあります。標準出力(System.out.println等)やファイル出力などで行うことがあると思いますが、上述のようなログの目的であればロギングツールの利用を勧めます。その理由ですが、
- ログ情報であるということが明示的になる
- ログの目的に応じたレベル設定ができる
- 各種ログ生成のためのツールが揃っている
などが挙げられます。もちろん自前で用意してもいいのですが、この種のライブラリやフレームワークを利用する方が便利であり、かつ第3者が見てもすぐに理解できるというのがあります。代表的なロギングツールには
- Log4J
- Java Logging API(Java標準)
があります。後者はJava標準ですので、ここではJava Logging APIを扱います。
ログのレベル
以下の7種類が用意されています。
- FINEST
- FINER
- FINE
- CONFIG
- INFO ・・・ 情報
- WARNING ・・・ 警告
- SEVERE ・・・ 致命的
通常はINFO以下の3つの段階を利用します。
Java Loggin APIの使い方 ~まずはSystem.out.printlnから脱却しよう~
以下のような記述をします。
Logger log =Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); log.info("プログラムを実行します"); log.warning("警告メッセージです"); log.severe("致命的なエラーが発生しました");
ログのレベルに対応した出力メソッドがありますので、使い分けることになります。これだけでは便利さが分かりにくいかもしれませんが、実行時にログの出力レベルを設定することで、重要なメッセージだけを出力できるようになります。例えば、動作確認はINFOレベルでありデバッグ時に確認するさいに使われるものです。稼動時には、WARNIGやSEVEREのみを出力するといったことが可能です。また、System.out.printlnよりはどういう意味であるのかが明示的になり、コードが読みやすくなります。