String getLogDir(Configuration conf) { String logDir = conf.get("hive.log.dir"); if (logDir == null) { logDir = System.getProperty("hive.log.dir"); } if (logDir != null) { return logDir; } LoggerContext context = (LoggerContext)LogManager.getContext(false); for (Logger logger: context.getLoggers()) { for (Appender appender: logger.getAppenders().values()) { if (appender instanceof AbstractOutputStreamAppender) { OutputStreamManager manager = ((AbstractOutputStreamAppender<?>)appender).getManager(); if (manager instanceof FileManager) { String fileName = ((FileManager)manager).getFileName(); if (fileName != null) { return fileName.substring(0, fileName.lastIndexOf('/')); } } } } } return null; }
File file = new File(log4jConfigFilePath); final LoggerContext ctx = (LoggerContext) LogManager.getContext(false); ctx.setConfigLocation(file.toURI()); Collection<org.apache.logging.log4j.core.Logger> collection = ctx.getLoggers(); System.out.println(collection.size()); // returns 0 (No loggers instantiated) Logger logger = LoggerFactory.getLogger("myLogger"); collection = ctx.getLoggers(); System.out.println(collection.size()); // returns 1 (myLogger instantiated)
public Logger getLogger() { if(!this.context.isStarted()) this.context.start(this.cfg); Collection<org.apache.logging.log4j.core.Logger> loggers = this.context.getLoggers(); List<String> lnames = this.context.getLoggers().stream() .map(l -> { String name = l.getName(); System.out.println(name); return name; }) .collect(Collectors.toList()); Logger log = this.context.getLogger(this.ctxName); return log; }
String getLogDir(Configuration conf) { String logDir = conf.get("hive.log.dir"); if (logDir == null) { logDir = System.getProperty("hive.log.dir"); } if (logDir != null) { return logDir; } LoggerContext context = (LoggerContext)LogManager.getContext(false); for (Logger logger: context.getLoggers()) { for (Appender appender: logger.getAppenders().values()) { if (appender instanceof AbstractOutputStreamAppender) { OutputStreamManager manager = ((AbstractOutputStreamAppender<?>)appender).getManager(); if (manager instanceof FileManager) { String fileName = ((FileManager)manager).getFileName(); if (fileName != null) { return fileName.substring(0, fileName.lastIndexOf('/')); } } } } } return null; }
/** * Update the weka dl4j log level. */ protected void updateWekaDl4jLogLevel() { LoggerContext context = getLoggerContext(); Collection<Logger> loggers = context.getLoggers(); for (Logger logger : loggers) { if (logger.getName().startsWith("weka")) { updateLogLevel(logger.getName(), wekaDl4jLogLevel); } } }
public static void flushAll() { final LoggerContext logCtx = ((LoggerContext) LogManager.getContext()); for(final org.apache.logging.log4j.core.Logger logger : logCtx.getLoggers()) { for(final Appender appender : logger.getAppenders().values()) { if(appender instanceof AbstractOutputStreamAppender) { ((AbstractOutputStreamAppender) appender).getManager().flush(); } } } } //
static void flushAll() { final LoggerContext logCtx = ((LoggerContext) LogManager.getContext()); for (final org.apache.logging.log4j.core.Logger logger : logCtx.getLoggers()) { for (final Appender appender : logger.getAppenders().values()) { if (appender instanceof AbstractOutputStreamAppender) { ((AbstractOutputStreamAppender) appender).getManager().flush(); } } } }