サンプル:はじめに
import java.util.logging.Logger; public class SampleLogger { public static void main(final String[] args) { final Logger logger = Logger.getLogger("SampleLogger"); // ★クラス名と同じにする★ logger.finest("Hellow World1"); logger.finer("Hellow World2"); logger.fine("Hellow World3"); logger.config("Hellow World4"); logger.info("Hellow World5"); logger.warning("Hellow World6"); logger.severe("Hellow World7"); } }
出力結果
* 「finest」~「config」が出力されないのは、「Java実行環境はデフォルト状態ではINFOレベルより下のレベルのログは出力されないようになっている」から3 21, 2014 6:49:31 午後 com.log.SampleLogger1 main 情報: Hellow World5 3 21, 2014 6:49:31 午後 com.log.SampleLogger1 main 警告: Hellow World6 3 21, 2014 6:49:31 午後 com.log.SampleLogger1 main 重大: Hellow World7
サンプル:「finest」~「severe」が出力
import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.util.logging.LogManager; import java.util.logging.Logger; public class SampleLogger { private static final String LOGGING_PROPERTIES_DATA = "handlers=java.util.logging.ConsoleHandler\n" + ".level=FINEST\n" + "java.util.logging.ConsoleHandler.level=FINEST\n" + "java.util.logging.ConsoleHandler.formatter" + "=java.util.logging.SimpleFormatter"; static { InputStream inStream = null; try { inStream = new ByteArrayInputStream(LOGGING_PROPERTIES_DATA.getBytes("UTF-8")); LogManager.getLogManager().readConfiguration(inStream); } catch (Exception ex) { ex.printStackTrace(); } finally { if (inStream != null) { try { inStream.close(); } catch (IOException e) { e.printStackTrace(); } } } } public static void main(final String[] args) { final Logger logger = Logger.getLogger("SampleLogger"); logger.finest("Hellow World1"); logger.finer("Hellow World2"); logger.fine("Hellow World3"); logger.config("Hellow World4"); logger.info("Hellow World5"); logger.warning("Hellow World6"); logger.severe("Hellow World7"); } }
出力結果
3 21, 2014 7:02:27 午後 com.log.SampleLogger1 main 最も詳細: Hellow World1 3 21, 2014 7:02:27 午後 com.log.SampleLogger1 main 詳細: Hellow World2 3 21, 2014 7:02:27 午後 com.log.SampleLogger1 main 普通: Hellow World3 3 21, 2014 7:02:27 午後 com.log.SampleLogger1 main 構成: Hellow World4 3 21, 2014 7:02:27 午後 com.log.SampleLogger1 main 情報: Hellow World5 3 21, 2014 7:02:27 午後 com.log.SampleLogger1 main 警告: Hellow World6 3 21, 2014 7:02:27 午後 com.log.SampleLogger1 main 重大: Hellow World7
サンプル:「finest」~「severe」が出力(設定ファイル使用)
準備
* 以下をやらないと、Eclipse環境下では、getResourceAsStream()から、nullが返ってくるhttp://www.coderanch.com/t/104740/vc/Class-getResourceAsStream-returns-null-Eclipse
[1] 設定ファイルを作成する [2] それをプロジェクト配下の適当な場所に置く [3] Eclipseで、プロジェクトを右クリックし、 [Properties]-[Java Build Path]-[Libraries]-[Add Source Folder]で 上記[2]のフォルダを指定する [プロジェクト] | +-conf | | | +-logger.properties | +-src | +-com | +-SampleLogger.java
logger.properties
handlers=java.util.logging.ConsoleHandler .level=FINEST java.util.logging.ConsoleHandler.level=FINEST java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
SampleLogger.java
package com; import java.io.IOException; import java.io.InputStream; import java.util.logging.LogManager; import java.util.logging.Logger; public class SampleLogger { private static final String LOGGING_PROPERTIES = "logger.properties"; static { InputStream inStream = null; try { ClassLoader classLoader = SampleLogger.class.getClassLoader(); inStream = classLoader.getResourceAsStream(LOGGING_PROPERTIES); LogManager.getLogManager().readConfiguration(inStream); } catch (Exception ex) { ex.printStackTrace(); } finally { if (inStream != null) { try { inStream.close(); } catch (IOException e) { e.printStackTrace(); } } } } public static void main(final String[] args) { final Logger logger = Logger.getLogger("SampleLogger"); logger.finest("Hellow World1"); logger.finer("Hellow World2"); logger.fine("Hellow World3"); logger.config("Hellow World4"); logger.info("Hellow World5"); logger.warning("Hellow World6"); logger.severe("Hellow World7"); } }
出力結果
* 上と同じだから省略参考文献
http://www.atmarkit.co.jp/ait/articles/0801/08/news128_2.htmlhttp://www.atmarkit.co.jp/ait/articles/0801/08/news128_3.html