「Java」java.util.logging 使ってみる
Java 標準で実装されてるコアロギング機能 ( java.util.logging パッケージ ) を簡単に使ってみたので、その時のメモ。
・java.util.logging (Java Platform SE 7 )
http://docs.oracle.com/javase/jp/7/api/java/util/logging/package-summary.html
以下の感じでできるみたいです。
簡単のため、コンソールへのログ出力のみです。
■ Test.java
package test; import java.io.FileInputStream; import java.util.logging.Level; import java.util.logging.LogManager; import java.util.logging.Logger; public class Test { private static LogManager logManager = LogManager.getLogManager(); private static Logger logger = Logger.getLogger(Test.class.getName()); public static void main(String[] args) throws Exception { logManager.readConfiguration(new FileInputStream("logging.properties")); logger.log(Level.SEVERE, "SEVERE !!"); logger.log(Level.WARNING, "WARN !!"); logger.log(Level.INFO, "INFO !!"); logger.log(Level.CONFIG, "CONFIG !!"); logger.log(Level.FINE, "FINE !!"); logger.log(Level.FINER, "FINER !!"); logger.log(Level.FINEST, "FINEST !!"); } }
※ logging.properties はデフォルトでは JRE インストールディレクトリの lib 配下のものが使われるみたいですが、独自のファイル使う場合は、上記のようにLogManager#readConfiguration とかで読み込む。あと、システムプロパティ "java.util.logging.config.file" でも OK とのこと。
・LogManager (Java Platform SE 7 )
http://docs.oracle.com/javase/jp/7/api/java/util/logging/LogManager.html
■ logging.properties
handlers= java.util.logging.ConsoleHandler .level = FINEST java.util.logging.ConsoleHandler.level = FINEST java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
■ 実行結果
7 14, 2014 1:01:05 午前 test.Test main 重大: SEVERE !! 7 14, 2014 1:01:05 午前 test.Test main 警告: WARN !! 7 14, 2014 1:01:05 午前 test.Test main 情報: INFO !! 7 14, 2014 1:01:05 午前 test.Test main 構成: CONFIG !! 7 14, 2014 1:01:05 午前 test.Test main 普通: FINE !! 7 14, 2014 1:01:05 午前 test.Test main 詳細: FINER !! 7 14, 2014 1:01:05 午前 test.Test main 最も詳細: FINEST !!
以上です。