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.
23 import org.apache.logging.log4j.Logger;
24 import org.apache.logging.log4j.core.Appender;
26 import jalview.util.Log4j;
27 import jalview.util.Platform;
29 public class JLoggerLog4j extends JLogger implements JLoggerI
31 private Logger logger = null;
33 public static JLoggerLog4j getLogger(Class c)
38 public static JLoggerLog4j getLogger(Class c, LogLevel loglevel)
40 return getLogger(c.getCanonicalName(), loglevel);
43 public static JLoggerLog4j getLogger(String name)
45 return getLogger(name, LogLevel.INFO);
48 public static JLoggerLog4j getLogger(String name, LogLevel loglevel)
50 return registryContainsKey(name) ? (JLoggerLog4j) registryGet(name)
51 : new JLoggerLog4j(name, loglevel);
54 private JLoggerLog4j(String name, LogLevel level)
63 protected void loggerSetup()
66 this.logger = Log4j.isInit() ? Log4j.getLogger(this.name, this.level)
71 public boolean loggerExists()
73 return logger != null;
77 protected void loggerSetLevel(JLoggerI.LogLevel level)
81 Log4j.setLevel(logger, level);
86 protected void loggerLogMessage(LogLevel level, String message,
96 logger.fatal(message, t);
99 logger.error(message, t);
102 logger.warn(message, t);
105 logger.info(message, t);
108 logger.debug(message, t);
111 logger.trace(message, t);
114 logger.trace(message, t);
123 logger.fatal(message);
126 logger.error(message);
129 logger.warn(message);
132 logger.info(message);
135 logger.debug(message);
138 logger.trace(message);
141 logger.trace(message);
147 private Logger getLoggerObject()
152 public synchronized static void addAppender(JLoggerLog4j level,
155 if (!Platform.isJS())
156 Log4j.addAppender(level.getLoggerObject(), appender);
159 public synchronized static void addAppender(JLoggerLog4j l1,
160 JLoggerLog4j l2, String name)
162 if (!Platform.isJS())
163 Log4j.addAppender(l1.getLoggerObject(), l2.getLoggerObject(), name);