「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]ゼロ除算できません.