1 package osm.jp.hayashi.tools.log;
\r
3 import java.io.FileInputStream;
\r
4 import java.io.IOException;
\r
5 import java.io.InputStream;
\r
6 import java.net.URISyntaxException;
\r
7 import java.nio.file.Files;
\r
8 import java.nio.file.Path;
\r
9 import java.nio.file.Paths;
\r
10 import java.util.logging.FileHandler;
\r
11 import java.util.logging.LogManager;
\r
12 import java.util.logging.Logger;
\r
14 import osm.jp.hayashi.tools.files.Directory;
\r
17 * ロギングファイルに動作ログを出力する簡単なモデル
\r
18 * "log"+日時+".log"ファイルに出力される。
\r
21 * Logger logger = LoggerFactory.getInstance();
\r
23 * logger.finest("[finest] 詳細レベル(高)");
\r
24 * logger.finer("[finer] 詳細レベル(中)");
\r
25 * logger.fine("[fine] 詳細レベル(小)");
\r
26 * logger.config("[config] 設定");
\r
27 * logger.info("[info] 情報");
\r
28 * logger.warning("[warning] 警告");
\r
29 * logger.severe("[severe] 致命的");
\r
31 * @version 2010/02/07
\r
34 public abstract class LoggerFactory
\r
36 public static void main(String[] args) {
\r
39 * handlers=java.util.logging.ConsoleHandler, java.util.logging.FileHandler
\r
42 * java.util.logging.ConsoleHandler.level=FINEST
\r
43 * java.util.logging.ConsoleHandler.formatter=hayashi.yuu.tools.logger.YuuLogFormatter
\r
45 * java.util.logging.FileHandler.level=WARNING
\r
46 * java.util.logging.FileHandler.pattern=SampleLogging%u.%g.log
\r
47 * java.util.logging.FileHandler.formatter=hayashi.yuu.tools.logger.YuuLogFormatter
\r
48 * java.util.logging.FileHandler.count=10
\r
52 * info、warning、severeの3つのレベルのみ標準エラー出力に出力されます。
\r
53 * また、同時にファイルへも出力します。
\r
54 * 出力先ファイルは「Logging%u.%g.txt」。ログファイルは10個でローテーションする。
\r
62 logger = Logger.getLogger("log");
\r
63 FileHandler fHandler = new FileHandler("Sample.log", true);
\r
64 fHandler.setFormatter(new YuuLogFormatter());
\r
65 logger.addHandler(fHandler);
\r
68 logger = LoggerFactory.getInstance();
\r
70 logger.finest("[finest] 詳細レベル(高)");
\r
71 logger.finer("[finer] 詳細レベル(中)");
\r
72 logger.fine("[fine] 詳細レベル(小)");
\r
73 logger.config("[config] 設定");
\r
74 logger.info("[info] 情報");
\r
75 logger.warning("[warning] 警告");
\r
76 logger.severe("[severe] 致命的");
\r
78 catch (Exception e) {
\r
79 e.printStackTrace();
\r
84 * ログ設定プロパティファイルのファイル内容
\r
87 protected static final String LOGGING_PROPERTIES = "log.properties";
\r
93 public static Logger getInstance() {
\r
94 final Logger logger = Logger.getLogger("log"); // Loggerオブジェクトの生成
\r
95 LogManager manager = LogManager.getLogManager();
\r
97 manager.readConfiguration(new FileInputStream(LOGGING_PROPERTIES));
\r
98 } catch (SecurityException | IOException e) {
\r
99 e.printStackTrace();
\r