OSDN Git Service

fixed : compile warrnings.
[importpicture/importpicture.git] / src / main / java / osm / jp / hayashi / tools / log / LoggerFactory.java
1 package osm.jp.hayashi.tools.log;\r
2 \r
3 import java.io.FileInputStream;\r
4 import java.io.IOException;\r
5 import java.util.logging.FileHandler;\r
6 import java.util.logging.LogManager;\r
7 import java.util.logging.Logger;\r
8 \r
9 /**\r
10  * ロギングファイルに動作ログを出力する簡単なモデル\r
11  * "log"+日時+".log"ファイルに出力される。\r
12  * 利用例:\r
13  * (1) インスタンスを取得する。\r
14  *              Logger logger = LoggerFactory.getInstance();\r
15  * (2) ログ出力例\r
16  *              logger.finest("[finest] 詳細レベル(高)");\r
17  *              logger.finer("[finer] 詳細レベル(中)");\r
18  *              logger.fine("[fine] 詳細レベル(小)");\r
19  *              logger.config("[config] 設定");\r
20  *              logger.info("[info] 情報");\r
21  *              logger.warning("[warning] 警告");\r
22  *              logger.severe("[severe] 致命的");\r
23  * @author yuu\r
24  * @version 2010/02/07\r
25  * @since 2010/02/07\r
26  */\r
27 public abstract class LoggerFactory\r
28 {\r
29         public static void main(String[] args) {\r
30                 /*\r
31                  * (設定例)\r
32                  *              handlers=java.util.logging.ConsoleHandler, java.util.logging.FileHandler\r
33                  *              .level=FINEST\r
34                  *\r
35                  *              java.util.logging.ConsoleHandler.level=FINEST\r
36                  *              java.util.logging.ConsoleHandler.formatter=hayashi.yuu.tools.logger.YuuLogFormatter\r
37                  *\r
38                  *              java.util.logging.FileHandler.level=WARNING\r
39                  *              java.util.logging.FileHandler.pattern=SampleLogging%u.%g.log\r
40                  *              java.util.logging.FileHandler.formatter=hayashi.yuu.tools.logger.YuuLogFormatter\r
41                  *              java.util.logging.FileHandler.count=10\r
42                  *\r
43                  *\r
44                  * 標準設定時でのログ出力。\r
45                  * info、warning、severeの3つのレベルのみ標準エラー出力に出力されます。\r
46                  * また、同時にファイルへも出力します。\r
47                  * 出力先ファイルは「Logging%u.%g.txt」。ログファイルは10個でローテーションする。\r
48                  *\r
49                  * 情報: [info] 情報\r
50                  * 警告: [warning] 警告\r
51                  * 致命的: [severe] 致命的\r
52                  */\r
53                 Logger logger;\r
54                 try {\r
55                         logger = Logger.getLogger("log");\r
56                         FileHandler fHandler = new FileHandler("Sample.log", true);\r
57                         fHandler.setFormatter(new YuuLogFormatter());\r
58                         logger.addHandler(fHandler);\r
59                         \r
60                         /*\r
61                         logger = LoggerFactory.getInstance();\r
62                         */\r
63                         logger.finest("[finest] 詳細レベル(高)");\r
64                         logger.finer("[finer] 詳細レベル(中)");\r
65                         logger.fine("[fine] 詳細レベル(小)");\r
66                         logger.config("[config] 設定");\r
67                         logger.info("[info] 情報");\r
68                         logger.warning("[warning] 警告");\r
69                         logger.severe("[severe] 致命的");\r
70                 }\r
71                 catch (Exception e) {\r
72                         e.printStackTrace();\r
73                 }\r
74         }\r
75 \r
76     /**\r
77          * ログ設定プロパティファイルのファイル内容\r
78          *\r
79          */\r
80         protected static final String LOGGING_PROPERTIES = "log.properties";\r
81 \r
82         /**\r
83          * 簡単な標準ロガーを得る\r
84          * @return      標準ロガー\r
85          */\r
86         public static Logger getInstance() {\r
87                 final Logger logger = Logger.getLogger("log");                                                  // Loggerオブジェクトの生成\r
88                 LogManager manager = LogManager.getLogManager();\r
89                 try {\r
90                         manager.readConfiguration(new FileInputStream(LOGGING_PROPERTIES));\r
91                 } catch (SecurityException | IOException e) {\r
92                         e.printStackTrace();\r
93                 }\r
94                 return logger;\r
95         }\r
96 }\r