• R/O
  • SSH
  • HTTPS

nine: Commit


Commit MetaInfo

Révision62 (tree)
l'heure2009-10-06 23:44:21
Auteurmshio

Message de Log

change logging process

Change Summary

Modification

--- nine/trunk/src/jp/sourceforge/nine/keymap/JmKeymapMaker.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/keymap/JmKeymapMaker.java (revision 62)
@@ -46,6 +46,7 @@
4646 import jp.sourceforge.nine.action.util.ActionArgument;
4747 import jp.sourceforge.nine.action.util.ArgumentActionEvent;
4848 import jp.sourceforge.nine.js.KeyboardSettings;
49+import jp.sourceforge.nine.util.NineLogger;
4950 import jp.sourceforge.nine.util.NineUtilities;
5051
5152 import static java.awt.event.InputEvent.CTRL_DOWN_MASK;
@@ -94,8 +95,7 @@
9495 String n = String.format("./resource/keyboard/keyboard_%s.txt", layout);
9596 m.setup(new File(n));
9697 } catch (IOException e) {
97- e.printStackTrace();
98- Main.logger.severe(e.getLocalizedMessage());
98+ NineLogger.instance.severe(e);
9999 }
100100 }
101101
@@ -115,17 +115,13 @@
115115 try {
116116 evaluateKeyStrokeSetting(items, keyStrokeLayout.get(exp), altKey);
117117 } catch (IllegalArgumentException e) {
118- e.printStackTrace();
119- Main.logger.warning(e.getLocalizedMessage());
118+ NineLogger.instance.warning(e);
120119 } catch (SecurityException e) {
121- e.printStackTrace();
122- Main.logger.warning(e.getLocalizedMessage());
120+ NineLogger.instance.warning(e);
123121 } catch (IllegalAccessException e) {
124- e.printStackTrace();
125- Main.logger.warning(e.getLocalizedMessage());
122+ NineLogger.instance.warning(e);
126123 } catch (NoSuchFieldException e) {
127- e.printStackTrace();
128- Main.logger.warning(e.getLocalizedMessage());
124+ NineLogger.instance.warning(e);
129125 }
130126 break;
131127 }
@@ -138,7 +134,7 @@
138134 }
139135 items.keyCode = key.toUpperCase().charAt(0);
140136 } else {
141- Main.logger.warning(String.format(CONFIG_LETTER_MISSING, key));
137+ NineLogger.instance.warning(String.format(CONFIG_LETTER_MISSING, key), null);
142138 }
143139 }
144140 }
--- nine/trunk/src/jp/sourceforge/nine/keymap/KeyStrokeMapMaker.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/keymap/KeyStrokeMapMaker.java (revision 62)
@@ -25,7 +25,7 @@
2525 import java.util.Map;
2626 import java.util.regex.Pattern;
2727
28-import jp.sourceforge.nine.Main;
28+import jp.sourceforge.nine.util.NineLogger;
2929
3030 public class KeyStrokeMapMaker {
3131 private final Map<String, String> map;
@@ -69,7 +69,7 @@
6969 if (buf.length() == 0) { return; }
7070 String[] items = delimitaPattern.split(buf, 2);
7171 if (items.length < 2) {
72- Main.logger.warning(line);
72+ NineLogger.instance.warning(line, null);
7373 return;
7474 }
7575 map.put(items[0], items[1]);
--- nine/trunk/src/jp/sourceforge/nine/editorkit/ActionMaker.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/editorkit/ActionMaker.java (revision 62)
@@ -27,6 +27,7 @@
2727
2828 import jp.sourceforge.nine.Main;
2929 import jp.sourceforge.nine.js.ActionDefinitions;
30+import jp.sourceforge.nine.util.NineLogger;
3031
3132 public class ActionMaker {
3233
@@ -65,21 +66,21 @@
6566 actions.add(action);
6667 } catch (ClassNotFoundException e) {
6768 // TODO:
68- e.printStackTrace();
69+ NineLogger.instance.warning(e);
6970 } catch (SecurityException e) {
70- e.printStackTrace();
71+ NineLogger.instance.warning(e);
7172 } catch (NoSuchMethodException e) {
72- e.printStackTrace();
73+ NineLogger.instance.warning(e);
7374 } catch (IllegalArgumentException e) {
74- e.printStackTrace();
75+ NineLogger.instance.warning(e);
7576 } catch (InstantiationException e) {
76- e.printStackTrace();
77+ NineLogger.instance.warning(e);
7778 } catch (IllegalAccessException e) {
78- e.printStackTrace();
79+ NineLogger.instance.warning(e);
7980 } catch (InvocationTargetException e) {
80- e.printStackTrace();
81+ NineLogger.instance.warning(e);
8182 } catch (InvalidActionNameException e) {
82- e.printStackTrace();
83+ NineLogger.instance.warning(e);
8384 }
8485 }
8586 ret = new Action[actions.size()];
--- nine/trunk/src/jp/sourceforge/nine/Main.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/Main.java (revision 62)
@@ -47,6 +47,7 @@
4747 import jp.sourceforge.nine.buffer.BufferManager;
4848 import jp.sourceforge.nine.editorkit.EditorKitMaker;
4949 import jp.sourceforge.nine.js.NineJsContext;
50+import jp.sourceforge.nine.util.NineLogger;
5051 import jp.sourceforge.nine.util.NineUtilities;
5152 import jp.sourceforge.nine.util.RowLimitListener;
5253
@@ -74,9 +75,6 @@
7475 /** A document object of the buffer for log messages */
7576 static MarkableDocument messageDoc = null;
7677
77- public final static Logger logger =
78- Logger.getLogger("jp.sourceforge.nine.defaultLogger");
79-
8078 /**
8179 * Launches this application.
8280 * <p>Loads scripting configuration, and jar files in the
@@ -138,7 +136,7 @@
138136 private static void setupLogMessageDocument() {
139137 messageDoc = new MarkableDocument();
140138 messageDoc.addDocumentListener(new RowLimitListener(1000));
141- logger.addHandler(new MessagesDocumentHandler());
139+ Logger.getLogger(NineLogger.NAME).addHandler(new MessagesDocumentHandler());
142140 }
143141
144142 /**
@@ -299,11 +297,9 @@
299297 }
300298 });
301299 } catch (MalformedURLException e) {
302- e.printStackTrace();
303- logger.severe(e.getLocalizedMessage());
300+ NineLogger.instance.severe(e);
304301 } catch (NotFoundPluginFolderException e) {
305- e.printStackTrace();
306- logger.severe(e.getLocalizedMessage());
302+ NineLogger.instance.severe(e);
307303 }
308304 pluginClassLoader = cl;
309305 }
--- nine/trunk/src/jp/sourceforge/nine/NineWrappedPlainView.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/NineWrappedPlainView.java (revision 62)
@@ -27,6 +27,8 @@
2727 import javax.swing.text.ViewFactory;
2828 import javax.swing.text.WrappedPlainView;
2929
30+import jp.sourceforge.nine.util.NineLogger;
31+
3032 public class NineWrappedPlainView extends WrappedPlainView {
3133 private final boolean wordWrap;
3234 private int tabBase;
@@ -153,7 +155,7 @@
153155 if (drawChars == null) {
154156 drawChars = getDrawCharsMethod();
155157 if (drawChars == null) {
156- Main.logger.severe("SwingUtilities2 is not found");
158+ NineLogger.instance.severe("SwingUtilities2 is not found", null);
157159 }
158160 }
159161
--- nine/trunk/src/jp/sourceforge/nine/js/FaceSettings.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/js/FaceSettings.java (revision 62)
@@ -31,7 +31,7 @@
3131 import java.util.Map;
3232 import java.util.Set;
3333
34-import jp.sourceforge.nine.Main;
34+import jp.sourceforge.nine.util.NineLogger;
3535
3636 /**
3737 * An object which keeps settings of color.
@@ -68,7 +68,7 @@
6868 warningWrongColorName(foregroundColorName);
6969 c = Color.BLACK;
7070 foregroundColorName = "Black";
71- Main.logger.warning("foregound color has been changed to black.");
71+ NineLogger.instance.warning("foregound color has been changed to black.", null);
7272 }
7373 return c;
7474 }
@@ -79,7 +79,7 @@
7979 warningWrongColorName(backgroundColorName);
8080 c = Color.WHITE;
8181 backgroundColorName = "White";
82- Main.logger.warning("background color has been changed to white.");
82+ NineLogger.instance.warning("background color has been changed to white.", null);
8383 }
8484 return c;
8585 }
@@ -86,7 +86,7 @@
8686
8787 private void warningWrongColorName(String colorName) {
8888 String m = "'%s' is a wrong color name.";
89- Main.logger.warning(String.format(m, colorName));
89+ NineLogger.instance.warning(String.format(m, colorName), null);
9090 }
9191
9292 private Color getColor(String color) {
@@ -183,7 +183,7 @@
183183 String msg = "Color name '%s' is not found in '%s'. Color data is not generated.";
184184 Iterator<String> it = colors.iterator();
185185 while (it.hasNext()) {
186- Main.logger.warning(String.format(msg, it.next(), DATA_FILE));
186+ NineLogger.instance.warning(String.format(msg, it.next(), DATA_FILE), null);
187187 }
188188 }
189189
@@ -199,7 +199,7 @@
199199 } else {
200200 c = getForeground();
201201 String m = "Such color category is not found: %s";
202- Main.logger.warning(String.format(m, colorType));
202+ NineLogger.instance.warning(String.format(m, colorType), null);
203203 }
204204 return c;
205205 }
--- nine/trunk/src/jp/sourceforge/nine/js/NineJsContext.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/js/NineJsContext.java (revision 62)
@@ -24,7 +24,7 @@
2424 import java.io.IOException;
2525 import java.lang.reflect.Method;
2626
27-import jp.sourceforge.nine.Main;
27+import jp.sourceforge.nine.util.NineLogger;
2828
2929 import org.mozilla.javascript.Context;
3030 import org.mozilla.javascript.ContextFactory;
@@ -40,14 +40,11 @@
4040 try {
4141 instance.execute();
4242 } catch (FileNotFoundException e) {
43- e.printStackTrace();
44- Main.logger.severe(e.getLocalizedMessage());
43+ NineLogger.instance.severe(e);
4544 } catch (IOException e) {
46- e.printStackTrace();
47- Main.logger.severe(e.getLocalizedMessage());
45+ NineLogger.instance.severe(e);
4846 } catch (EcmaError e) {
49- e.printStackTrace();
50- Main.logger.severe(e.getLocalizedMessage());
47+ NineLogger.instance.severe(e);
5148 }
5249 }
5350
--- nine/trunk/src/jp/sourceforge/nine/js/NineJsScript.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/js/NineJsScript.java (revision 62)
@@ -29,11 +29,11 @@
2929 import javax.swing.text.JTextComponent;
3030 import javax.swing.text.Position;
3131
32-import jp.sourceforge.nine.Main;
3332 import jp.sourceforge.nine.MainTextPane;
3433 import jp.sourceforge.nine.action.util.ArgumentActionEvent;
3534 import jp.sourceforge.nine.keymap.JmKeymap;
3635 import jp.sourceforge.nine.keymap.JmKeymapMaker;
36+import jp.sourceforge.nine.util.NineLogger;
3737 import jp.sourceforge.nine.util.NineUtilities;
3838
3939 import org.mozilla.javascript.Context;
@@ -145,8 +145,7 @@
145145 ret = (MainTextPane) o;
146146 }
147147 } catch (EvaluatorException e) {
148- e.printStackTrace();
149- Main.logger.warning(e.getLocalizedMessage());
148+ NineLogger.instance.warning(e);
150149 }
151150 return ret;
152151 }
@@ -156,8 +155,7 @@
156155 Object o = Context.jsToJava(event, ActionEvent.class);
157156 return o instanceof ArgumentActionEvent;
158157 } catch (EvaluatorException e) {
159- e.printStackTrace();
160- Main.logger.warning(e.getLocalizedMessage());
158+ NineLogger.instance.warning(e);
161159 }
162160 return false;
163161 }
@@ -170,8 +168,7 @@
170168 ret = (ArgumentActionEvent) o;
171169 }
172170 } catch (EvaluatorException e) {
173- e.printStackTrace();
174- Main.logger.warning(e.getLocalizedMessage());
171+ NineLogger.instance.warning(e);
175172 }
176173 return ret;
177174 }
@@ -180,7 +177,7 @@
180177 try {
181178 externalJar.add(new URL("file://" + jarPath));
182179 } catch (MalformedURLException e) {
183- Main.logger.warning(e.getLocalizedMessage());
180+ NineLogger.instance.warning(e);
184181 }
185182 }
186183
--- nine/trunk/src/jp/sourceforge/nine/MainTextPane.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/MainTextPane.java (revision 62)
@@ -76,6 +76,7 @@
7676 import jp.sourceforge.nine.editorkit.TextEditorKit;
7777 import jp.sourceforge.nine.js.FrameSettings;
7878 import jp.sourceforge.nine.keymap.JmKeymapMaker;
79+import jp.sourceforge.nine.util.NineLogger;
7980 import jp.sourceforge.nine.util.NineUtilities;
8081 import jp.sourceforge.nine.util.NineUtilities.OS;
8182
@@ -315,15 +316,13 @@
315316 Class<? extends TextEditorKit> c =
316317 l.loadClass(nm).asSubclass(TextEditorKit.class);
317318 k = c.newInstance();
318- if (k != null) {
319- kitRegistory.put(type, k);
320- }
319+ if (k != null) { kitRegistory.put(type, k); }
321320 } catch (ClassNotFoundException e) {
322- e.printStackTrace();
321+ NineLogger.instance.warning(e);
323322 } catch (InstantiationException e) {
324- e.printStackTrace();
323+ NineLogger.instance.warning(e);
325324 } catch (IllegalAccessException e) {
326- e.printStackTrace();
325+ NineLogger.instance.warning(e);
327326 }
328327 }
329328 if (k != null) { k = (TextEditorKit) k.clone(); }
@@ -341,26 +340,14 @@
341340 return bufferWindow;
342341 }
343342
344- /*
345- * (non-Javadoc)
346- * @see jp.sourceforge.nine.MainBufferPane#getWindow()
347- */
348343 public BufferWindow getWindow() {
349344 return bufferWindow;
350345 }
351346
352- /*
353- * (non-Javadoc)
354- * @see jp.sourceforge.nine.MainBufferPane#getBufferFile()
355- */
356347 public File getBufferFile() {
357348 return bufferFile;
358349 }
359350
360- /*
361- * (non-Javadoc)
362- * @see jp.sourceforge.nine.MainBufferPane#getBufferName()
363- */
364351 public String getBufferName() {
365352 return bufferName;
366353 }
--- nine/trunk/src/jp/sourceforge/nine/action/MakeDirectoryAction.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/action/MakeDirectoryAction.java (revision 62)
@@ -23,9 +23,9 @@
2323 import java.io.File;
2424 import java.text.MessageFormat;
2525
26-import jp.sourceforge.nine.Main;
2726 import jp.sourceforge.nine.action.util.PromptLabelKey;
2827 import jp.sourceforge.nine.util.MessageUtility;
28+import jp.sourceforge.nine.util.NineLogger;
2929 import jp.sourceforge.nine.util.NineUtilities;
3030
3131 @PromptLabelKey("make-directory")
@@ -67,7 +67,7 @@
6767 // get failure
6868 NineUtilities.beep(getTextComponent(e));
6969 String s = String.format("%s %s was failed", ACTION_NAME, txt);
70- Main.logger.warning(s);
70+ NineLogger.instance.warning(s, null);
7171 minibuffer.reset(s);
7272 }
7373 }
--- nine/trunk/src/jp/sourceforge/nine/action/QuotedInsertAction.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/action/QuotedInsertAction.java (revision 62)
@@ -27,7 +27,6 @@
2727 import javax.swing.text.JTextComponent;
2828
2929 import jp.sourceforge.nine.BasicTextPane;
30-import jp.sourceforge.nine.Main;
3130 import jp.sourceforge.nine.MainBufferPane;
3231 import jp.sourceforge.nine.MinibufferPanel;
3332 import jp.sourceforge.nine.RootPanel;
@@ -34,6 +33,7 @@
3433 import jp.sourceforge.nine.action.ReplaceableAction.AltAction;
3534 import jp.sourceforge.nine.action.util.ActionInfo;
3635 import jp.sourceforge.nine.action.util.KeymapModifier;
36+import jp.sourceforge.nine.util.NineLogger;
3737 import jp.sourceforge.nine.util.NineUtilities;
3838
3939 public class QuotedInsertAction extends ScriptableTextAction {
@@ -85,8 +85,7 @@
8585 p.insert(new String(new char[] { (char) v }), pos);
8686 }
8787 } catch (NumberFormatException e) {
88- e.printStackTrace();
89- Main.logger.warning(e.getLocalizedMessage());
88+ NineLogger.instance.warning(e);
9089 }
9190 }
9291
--- nine/trunk/src/jp/sourceforge/nine/action/ExchangePointAndMarkAction.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/action/ExchangePointAndMarkAction.java (revision 62)
@@ -24,9 +24,9 @@
2424 import javax.swing.text.JTextComponent;
2525 import javax.swing.text.Position;
2626
27-import jp.sourceforge.nine.Main;
2827 import jp.sourceforge.nine.MainTextPane;
2928 import jp.sourceforge.nine.util.MessageUtility;
29+import jp.sourceforge.nine.util.NineLogger;
3030 import jp.sourceforge.nine.util.NineUtilities;
3131
3232 /**
@@ -55,7 +55,7 @@
5555 exchangePointAndMark(textPane, mark);
5656 } catch (BadLocationException ex) {
5757 NineUtilities.beep(t);
58- Main.logger.warning(ex.getLocalizedMessage());
58+ NineLogger.instance.warning(ex);
5959 }
6060 }
6161 }
--- nine/trunk/src/jp/sourceforge/nine/action/WriteFileAction.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/action/WriteFileAction.java (revision 62)
@@ -24,7 +24,6 @@
2424 import java.io.IOException;
2525 import java.text.MessageFormat;
2626
27-import jp.sourceforge.nine.Main;
2827 import jp.sourceforge.nine.MainTextPane;
2928 import jp.sourceforge.nine.action.util.KillBufferCommand;
3029 import jp.sourceforge.nine.action.util.PromptLabelKey;
@@ -31,6 +30,7 @@
3130 import jp.sourceforge.nine.action.util.SaveBufferCommand;
3231 import jp.sourceforge.nine.buffer.BufferManager;
3332 import jp.sourceforge.nine.util.MessageUtility;
33+import jp.sourceforge.nine.util.NineLogger;
3434 import jp.sourceforge.nine.util.NineUtilities;
3535
3636 @PromptLabelKey("write-file")
@@ -81,8 +81,7 @@
8181 manager.addBuffer(m);
8282 }
8383 } catch (IOException ex) {
84- ex.printStackTrace();
85- Main.logger.warning(ex.getLocalizedMessage());
84+ NineLogger.instance.warning(ex);
8685 }
8786 }
8887
--- nine/trunk/src/jp/sourceforge/nine/action/UniversalCodingSystemArgumentAction.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/action/UniversalCodingSystemArgumentAction.java (revision 62)
@@ -25,11 +25,11 @@
2525 import java.nio.charset.UnsupportedCharsetException;
2626 import java.text.MessageFormat;
2727
28-import jp.sourceforge.nine.Main;
2928 import jp.sourceforge.nine.MainTextPane;
3029 import jp.sourceforge.nine.action.util.ActionArgument;
3130 import jp.sourceforge.nine.action.util.PromptLabelKey;
3231 import jp.sourceforge.nine.util.MessageUtility;
32+import jp.sourceforge.nine.util.NineLogger;
3333 import jp.sourceforge.nine.util.NineUtilities;
3434
3535 @PromptLabelKey("universal-coding-system-argument")
@@ -58,13 +58,11 @@
5858 ActionArgument.generate(cs);
5959 minibuffer.reset(getRequiringCommandLabel(cs));
6060 } catch (IllegalCharsetNameException ex) {
61- ex.printStackTrace();
6261 NineUtilities.beep(minibuffer);
63- Main.logger.warning(ex.getLocalizedMessage());
62+ NineLogger.instance.warning(ex);
6463 } catch (UnsupportedCharsetException ex) {
65- ex.printStackTrace();
6664 NineUtilities.beep(minibuffer);
67- Main.logger.warning(ex.getLocalizedMessage());
65+ NineLogger.instance.warning(ex);
6866 }
6967 }
7068
--- nine/trunk/src/jp/sourceforge/nine/action/SaveBuffersKillNineAction.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/action/SaveBuffersKillNineAction.java (revision 62)
@@ -32,6 +32,7 @@
3232 import jp.sourceforge.nine.action.util.PromptLabelKey;
3333 import jp.sourceforge.nine.action.util.SaveBufferCommand;
3434 import jp.sourceforge.nine.buffer.BufferManager;
35+import jp.sourceforge.nine.util.NineLogger;
3536 import jp.sourceforge.nine.util.NineUtilities;
3637
3738 @PromptLabelKey("save-buffers-kill-nine")
@@ -62,10 +63,7 @@
6263 private void quit() {
6364 // TODO:
6465 SwingUtilities.invokeLater(new Runnable() {
65- public void run() {
66-// Main.quit();
67- Main.application.quit();
68- }
66+ public void run() { Main.application.quit(); }
6967 });
7068 }
7169
@@ -135,8 +133,7 @@
135133 try {
136134 c.execute();
137135 } catch (IOException ex) {
138- ex.printStackTrace();
139- Main.logger.warning(ex.getLocalizedMessage());
136+ NineLogger.instance.warning(ex);
140137 }
141138 }
142139
--- nine/trunk/src/jp/sourceforge/nine/util/NineUtilities.java (revision 61)
+++ nine/trunk/src/jp/sourceforge/nine/util/NineUtilities.java (revision 62)
@@ -65,7 +65,8 @@
6565 * @return the {@code RootPanel} for component or {@code null}.
6666 */
6767 public static RootPanel getRootPanel(JComponent component) {
68- Container c = component.getParent();
68+ Container c = component instanceof Container ?
69+ (Container) component : component.getParent();
6970 if (c == null) { return null; }
7071 do {
7172 if (c instanceof RootPanel) {
--- nine/trunk/src/jp/sourceforge/nine/util/NineLogger.java (nonexistent)
+++ nine/trunk/src/jp/sourceforge/nine/util/NineLogger.java (revision 62)
@@ -0,0 +1,99 @@
1+/*
2+ * Copyright (C) 2009, mshio <mshio@users.sourceforge.jp>
3+ *
4+ * This program is free software: you can redistribute it and/or
5+ * modify it under the terms of the GNU General Public License
6+ * as published by the Free Software Foundation; either version 2
7+ * of the License, or any later version.
8+ *
9+ * This program is distributed in the hope that it will be useful,
10+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+ * GNU General Public License for more details.
13+ *
14+ * You should have received a copy of the GNU General Public License
15+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
16+ * ---
17+ * Require JDK 1.5 (or later)
18+ */
19+package jp.sourceforge.nine.util;
20+
21+import java.util.logging.Level;
22+import java.util.logging.Logger;
23+
24+public class NineLogger {
25+ public static final String NAME = "jp.sourceforge.nine.defaultLogger";
26+ public static final NineLogger instance = new NineLogger();
27+
28+ // TODO: these parameters will be set in the script file.
29+ private boolean isVerbose = true;
30+ private boolean stackTrace = true;
31+
32+ private Logger getLogger() {
33+ return Logger.getLogger(NAME);
34+ }
35+
36+ public void warning(Throwable thrown) {
37+ doLog(Level.WARNING, thrown.getLocalizedMessage(), thrown);
38+ }
39+
40+ public void warning(String msg, Throwable thrown) {
41+ doLog(Level.WARNING, msg, thrown);
42+ }
43+
44+ public void severe(Throwable thrown) {
45+ doLog(Level.SEVERE, thrown.getLocalizedMessage(), thrown);
46+ }
47+
48+ public void severe(String msg, Throwable thrown) {
49+ doLog(Level.SEVERE, msg, thrown);
50+ }
51+
52+ public void info(String msg) {
53+ doLog(Level.INFO, msg, null);
54+ }
55+
56+ private void doLog(Level level, String msg, Throwable thrown) {
57+ Logger logger = getLogger();
58+
59+ CallingMeClass c = getCallingMeClass();
60+
61+ if (isVerbose && thrown != null) {
62+ logger.logp(level, c.className, c.methodName, msg, thrown);
63+ } else {
64+ logger.logp(level, c.className, c.methodName, msg);
65+ }
66+ if (stackTrace && thrown != null) {
67+ thrown.printStackTrace();
68+ }
69+ }
70+
71+ private CallingMeClass getCallingMeClass() {
72+ final String myName = this.getClass().getName();
73+ CallingMeClass ret = null;
74+ boolean traceMe = true;
75+ for (StackTraceElement e : new Throwable().getStackTrace()) {
76+ String n = e.getClassName();
77+ if (traceMe) {
78+ if (n.equals(myName)) { traceMe = false; }
79+ } else {
80+ if (! n.equals(myName)) {
81+ ret = new CallingMeClass(n, e.getMethodName());
82+ break;
83+ }
84+ }
85+ }
86+ return ret;
87+ }
88+
89+
90+ class CallingMeClass {
91+ final String className;
92+ final String methodName;
93+
94+ CallingMeClass(String className, String methodName) {
95+ this.className = className;
96+ this.methodName = methodName;
97+ }
98+ }
99+}
--- nine-dired/trunk/src/jp/sourceforge/nine/action/dired/DiredFlagFilesRegexpAction.java (revision 61)
+++ nine-dired/trunk/src/jp/sourceforge/nine/action/dired/DiredFlagFilesRegexpAction.java (revision 62)
@@ -24,7 +24,6 @@
2424
2525 import javax.swing.table.TableModel;
2626
27-import jp.sourceforge.nine.Main;
2827 import jp.sourceforge.nine.MainBufferPane;
2928 import jp.sourceforge.nine.MainTablePane;
3029 import jp.sourceforge.nine.action.NineMinibufferAction;
@@ -32,6 +31,7 @@
3231 import jp.sourceforge.nine.dired.DiredTableModel;
3332 import jp.sourceforge.nine.dired.TableColumnType;
3433 import jp.sourceforge.nine.util.MessageUtility;
34+import jp.sourceforge.nine.util.NineLogger;
3535
3636 @PromptLabelKey("dired-flag-files-regexp")
3737 public class DiredFlagFilesRegexpAction extends NineMinibufferAction {
@@ -64,8 +64,7 @@
6464 }
6565 }
6666 } catch (PatternSyntaxException ex) {
67- ex.printStackTrace();
68- Main.logger.warning(ex.getLocalizedMessage());
67+ NineLogger.instance.warning(ex);
6968 }
7069 mainTable.repaint();
7170 showResultMessage(count);
Afficher sur ancien navigateur de dépôt.