2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $$Year-Rel$$ The Jalview Authors
5 * This file is part of Jalview.
7 * Jalview is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation, either version 3
10 * of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 * The Jalview Authors are detailed in the 'AUTHORS' file.
21 package jalview.javascript.log4j;
23 import jalview.javascript.log4j.spi.LoggingEvent;
25 import java.util.Hashtable;
31 private static Map<String, Logger> registry;
37 private boolean enabled = true;
39 private boolean isEnabled;
41 private Appender appender;
43 private Logger(String name)
48 public static Logger getLogger(String name)
52 registry = new Hashtable<>();
55 Logger logger = registry.get(name);
58 registry.put(name, logger = new Logger(name));
59 logger.setLevel(Level.DEBUG);
64 public static Logger getRootLogger()
66 return getLogger("root");
69 public void setLevel(Level l)
74 public void addAppender(Appender appender)
76 this.appender = appender;
79 public boolean isDebugEnabled()
84 public void trace(Object o)
89 public void trace(Object o, Throwable e)
99 public void debug(Object o)
104 public void debug(Object o, Throwable e)
108 case Priority.DEBUG_INT:
109 case Level.TRACE_INT:
115 public void info(Object o)
120 public void info(Object o, Throwable e)
124 case Priority.INFO_INT:
125 case Priority.DEBUG_INT:
126 case Level.TRACE_INT:
133 public void warn(Object o)
138 public void warn(Object o, Throwable e)
142 case Priority.WARN_INT:
143 case Priority.INFO_INT:
144 case Priority.DEBUG_INT:
145 case Level.TRACE_INT:
152 public void error(Object o)
157 public void error(Object o, Throwable e)
161 case Priority.ERROR_INT:
162 case Priority.WARN_INT:
163 case Priority.INFO_INT:
164 case Priority.DEBUG_INT:
165 case Level.TRACE_INT:
172 private void log(Object s, Throwable e)
176 case Priority.ERROR_INT:
177 case Priority.WARN_INT:
178 if (appender == null)
180 System.err.println(s);
183 case Priority.INFO_INT:
184 case Priority.DEBUG_INT:
185 case Level.TRACE_INT:
186 if (appender == null)
188 System.out.println(s);
197 appender.append(new LoggingEvent(this, s.toString(), level));