--- /dev/null
+package jalview.util;
+
+import java.util.Map;
+
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.LoggerContext;
+import org.apache.logging.log4j.core.config.Configuration;
+import org.apache.logging.log4j.core.config.LoggerConfig;
+
+public class Log4j
+{
+ public static void setLevel(Logger logger, Level level)
+ {
+ LoggerContext context = (LoggerContext) LogManager.getContext(false);
+ Configuration config = context.getConfiguration();
+ LoggerConfig loggerConfig = config.getLoggerConfig(logger.getName());
+ loggerConfig.setLevel(level);
+ }
+
+ public static void setRootLevel(Level level)
+ {
+ setLevel(LogManager.getRootLogger(), level);
+ }
+
+ public static void addAppender(Logger logger, Logger logger2,
+ String name2)
+ {
+ LoggerContext context = (LoggerContext) LogManager.getContext(false);
+ Configuration config = context.getConfiguration();
+ LoggerConfig logger2Config = config.getLoggerConfig(logger2.getName());
+ Map<String, Appender> logger2AppendersMap = logger2Config
+ .getAppenders();
+ Appender appender = logger2AppendersMap.get(name2);
+ addAppender(logger, appender);
+ }
+
+ public static void addAppender(Logger logger, Appender appender)
+ {
+ LoggerContext context = (LoggerContext) LogManager.getContext(false);
+ Configuration config = context.getConfiguration();
+ LoggerConfig loggerConfig = config.getLoggerConfig(logger.getName());
+ loggerConfig.addAppender(appender, null, null);
+ }
+
+ public static void addAppenderToRootLogger(Appender appender)
+ {
+ Log4j.addAppender(LogManager.getRootLogger(), appender);
+ }
+}