• R/O
  • HTTP
  • SSH
  • HTTPS

hayashi: Commit

hayashi lib.
java


Commit MetaInfo

Revisiónc505d3e7a4bf22aca1ae69c8013dd3c5b34f571e (tree)
Tiempo2013-01-06 00:53:25
Autoryuu hayashi <hayashi.yuu@gmai...>
Commiteryuu hayashi

Log Message

Loggerの設定をlog.properties ファイルから変更できるようにした

Cambiar Resumen

Diferencia incremental

--- /dev/null
+++ b/log.properties
@@ -0,0 +1,8 @@
1+handlers=java.util.logging.ConsoleHandler, java.util.logging.FileHandler
2+.level=INFO
3+java.util.logging.ConsoleHandler.level=FINEST
4+java.util.logging.ConsoleHandler.formatter=hayashi.yuu.tools.logger.YuuLogFormatter
5+java.util.logging.FileHandler.level=INFO
6+java.util.logging.FileHandler.pattern=Logging%u.%g.txt
7+java.util.logging.FileHandler.formatter=hayashi.yuu.tools.logger.YuuLogFormatter
8+java.util.logging.FileHandler.count=10
--- a/src/hayashi/yuu/tools/logger/LoggerFactory.java
+++ b/src/hayashi/yuu/tools/logger/LoggerFactory.java
@@ -1,10 +1,7 @@
11 package hayashi.yuu.tools.logger;
22
3-import java.io.ByteArrayInputStream;
43 import java.io.IOException;
54 import java.io.InputStream;
6-import java.io.UnsupportedEncodingException;
7-import java.util.logging.FileHandler;
85 import java.util.logging.LogManager;
96 import java.util.logging.Logger;
107
@@ -69,51 +66,25 @@ public abstract class LoggerFactory
6966 }
7067 }
7168
72- public static Logger logger;
69+ /**
70+ * ログ設定プロパティファイルのファイル内容
71+ *
72+ */
73+ protected static final String LOGGING_PROPERTIES = "log.properties";
7374
7475 /**
7576 * 簡単な標準ロガーを得る
7677 * @return 標準ロガー
7778 */
7879 public static Logger getInstance() {
79- if (logger == null) {
80- // ハンドラオブジェクトの生成
81- FileHandler handler;
82- try {
83- // 1MBまでの追記型、10ファイル
84- handler = new FileHandler("Logging", 1024*1024, 10, true);
85- handler.setFormatter(new YuuLogFormatter()); // 出力フォーマットの指定
86- logger = Logger.getLogger("log"); // Loggerオブジェクトの生成
87- logger.addHandler(handler); // Loggerオブジェクトにハンドラを追加
88- } catch (IOException e) {
89- e.printStackTrace();
90- }
91- }
92- return logger;
93- }
94-
95- /**
96- * ログ設定プロパティファイルのファイル内容
97- *
98- */
99- protected static final String LOGGING_PROPERTIES_DATA
100- = "handlers=java.util.logging.ConsoleHandler, java.util.logging.FileHandler\n"
101- + ".level=INFO\n"
102- + "java.util.logging.ConsoleHandler.level=FINEST\n"
103- + "java.util.logging.ConsoleHandler.formatter=hayashi.yuu.tools.logger.YuuLogFormatter\n"
104- + "java.util.logging.FileHandler.level=INFO\n"
105- + "java.util.logging.FileHandler.pattern=Logging%u.%g.txt\n"
106- + "java.util.logging.FileHandler.formatter=hayashi.yuu.tools.logger.YuuLogFormatter\n"
107- + "java.util.logging.FileHandler.count=10";
80+ final Logger logger = Logger.getLogger("log"); // Loggerオブジェクトの生成
10881
109- /**
110- * static initializer によるログ設定の初期化
111- */
112- static {
113- final Logger logger = Logger.getLogger("SampleLogging");
114- InputStream inStream = null;
115- try {
116- inStream = new ByteArrayInputStream(LOGGING_PROPERTIES_DATA.getBytes("UTF-8"));
82+ logger.fine("ログ設定: "+ LOGGING_PROPERTIES +"をもとにログを設定します。");
83+ final InputStream inStream = hayashi.yuu.tools.logger.YuuLogFormatter.class.getClassLoader().getResourceAsStream(LOGGING_PROPERTIES);
84+ if (inStream == null) {
85+ logger.info("ログ設定: "+ LOGGING_PROPERTIES +"はクラスパスには見つかりませんでした。");
86+ }
87+ else {
11788 try {
11889 LogManager.getLogManager().readConfiguration(inStream);
11990 logger.config("ログ設定: LogManagerを設定しました。");
@@ -121,17 +92,15 @@ public abstract class LoggerFactory
12192 catch (IOException e) {
12293 logger.warning("ログ設定: LogManager設定の際に例外が発生しました。:" + e.toString());
12394 }
124- }
125- catch (UnsupportedEncodingException e) {
126- logger.severe("ログ設定: UTF-8エンコーディングがサポートされていません。:" + e.toString());
127- }
128- finally {
129- try {
130- if (inStream != null) inStream.close();
131- }
132- catch (IOException e) {
133- logger.warning("ログ設定: ログ設定プロパティファイルのストリームクローズ時に例外が発生しました。:" + e.toString());
134- }
135- }
136- }
95+ finally {
96+ try {
97+ if (inStream != null) inStream.close();
98+ }
99+ catch (IOException e) {
100+ logger.warning("ログ設定: ログ設定プロパティファイルのストリームクローズ時に例外が発生しました。:" + e.toString());
101+ }
102+ }
103+ }
104+ return logger;
105+ }
137106 }
Show on old repository browser