ラボ講座‎ > ‎Java講座‎ > ‎

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よりはどういう意味であるのかが明示的になり、コードが読みやすくなります。


Comments