「Java」Java.util.loggingの使い方(設定propetriesファイル、サンプルコードなど)
1.Javaコード
package com.arkgame.study; import java.io.IOException; import java.io.InputStream; import java.util.logging.LogManager; import java.util.logging.Logger; public class LogManagerTest { static String strClassName = UtilloggingDemoLevel.class.getName(); static Logger logger = Logger.getLogger(strClassName); static LogManager logManager = LogManager.getLogManager(); static { InputStream inputStream = null; try { // プロパティファイルを読み込む inputStream = LogManagerTest.class.getClassLoader().getResourceAsStream("log.propetries"); logManager.readConfiguration(inputStream); // loggerを追加する logManager.addLogger(logger); } catch (SecurityException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static double division(int a, int b) { double result = 0; try { result = a / b; } catch (ArithmeticException e) { logger.severe("[severe]ゼロ除算できません."); logger.warning("[warning]ゼロ除算できません."); logger.info("[info]ゼロ除算できません."); logger.config("[config]ゼロ除算できません."); logger.fine("[fine]ゼロ除算できません."); logger.finer("[finer]ゼロ除算できません."); logger.finest("[finest]ゼロ除算できません."); e.printStackTrace(); } return result; } public static void main(String[] args) { System.out.println(division(13, 0)); } }
2.log.propetriesの定義
# "handlers" specifies a comma separated list of log Handler handlers= java.util.logging.FileHandler # デフォルトのログレベル. .level= CONFIG java.util.logging.FileHandler.pattern = D:\\test\\Log%u.log java.util.logging.FileHandler.limit = 40000 java.util.logging.FileHandler.count = 1 java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter # Limit the message that are printed on the console to CONFIG and above. java.util.logging.ConsoleHandler.level = CONFIG java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter # Facility specific properties.Provides extra control for each logger. com.xyz.foo.level = SEVERE
3.ファイルのログ確認(D:\test\Log0.log)
xxx com.arkgame.study.LogManagerTest division
重大: [severe]ゼロ除算できません.
xxx com.arkgame.study.LogManagerTest division
警告: [warning]ゼロ除算できません.
xxx com.arkgame.study.LogManagerTest division
情報: [info]ゼロ除算できません.
xxx com.arkgame.study.LogManagerTest division
構成: [config]ゼロ除算できません.