ファイルへのログ書き出し

自分用のメモ。
javaの標準Logger使ってファイルに処理ログを書き出すためのユーティリティクラス

import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger;

public final class Log {
	private final static Logger log = Logger.getLogger("Logger");
	private final static String logPath = "ファイルのフルパス";
	private static FileHandler fh = null;
	private static boolean DEBUG = false;

	private static void setHandler() {
		if(fh == null) {
			try {
				fh = new FileHandler(logPath);
				fh.setFormatter(new MyFormatter());
				log.addHandler(fh);

				if(DEBUG) log.setLevel(Level.CONFIG);
			} catch (SecurityException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

	public static void info(String arg) {
		setHandler();
		log.info(arg);
	}

	public static void debug(String arg) {
		setHandler();
		log.log(Level.CONFIG, arg);
	}

	public static void close() {
		fh.close();
		fh = null;
	}
}