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

Log4j2

Posted by arkgame