26 package org.nexusformat.nxvalidate;
28 import java.util.Vector;
30 import javax.swing.event.ChangeEvent;
31 import javax.swing.event.ChangeListener;
34 private static final Logger logger =
new Logger();
36 private static int loggingLevel;
37 private static Vector<ChangeListener> listeners
38 =
new Vector<ChangeListener>();
39 private static boolean hasListeners =
false;
41 public static final int TRACE = 0;
42 public static final int DEBUG = 1;
43 public static final int INFO = 2;
44 public static final int WARN = 3;
45 public static final int ERROR = 4;
51 public static void addListener(
final ChangeListener listener) {
54 listeners.add(listener);
58 public static void setLevel(
final int level) {
62 static Logger getInstance() {
66 private void println(
final String message,
final int level) {
67 if (level >= loggingLevel) {
69 ChangeEvent
event =
new ChangeEvent(message);
70 for (ChangeListener listener : listeners) {
71 listener.stateChanged(event);
74 System.out.println(message);
79 public void trace(
final String message) {
80 this.println(message, TRACE);
82 public void debug(
final String message) {
83 this.println(message, DEBUG);
85 public void info(
final String message) {
86 this.println(message, INFO);
88 public void warn(
final String message) {
89 this.println(message, WARN);
91 public void error(
final String message) {
92 this.println(message, ERROR);