@Override public void run() { getLoggerContext().stop(); }
private void closeLogback() { try { ((LoggerContext) LoggerFactory.getILoggerFactory()).stop(); } catch (Throwable cause) { // } }
public void shutdown() { if (loggerFactory instanceof LoggerContext) { ((LoggerContext) loggerFactory).stop(); } else { System.err.println("Unable to shutdown logback. It seems that slf4j is bound to an unexpected backend " + loggerFactory.getClass().getName()); } } }
public void contextDestroyed(ServletContextEvent event) { ServletContext servletContext = event.getServletContext(); LoggerContext context = (LoggerContext) servletContext.getAttribute(Red5LoggerFactory.LOGGER_CONTEXT_ATTRIBUTE); if (context != null) { Logger logger = context.getLogger(Logger.ROOT_LOGGER_NAME); logger.debug("Shutting down context {}", context.getName()); context.reset(); context.stop(); } else { System.err.printf("No logger context found for %s%n", event.getServletContext().getContextPath()); } }
@Override public void contextDestroyed(ServletContextEvent sce) { ILoggerFactory iLoggerFactory = LoggerFactory.getILoggerFactory(); if (iLoggerFactory instanceof LoggerContext) { LoggerContext loggerContext = (LoggerContext) iLoggerFactory; contextAwareBase.setContext(loggerContext); StatusViaSLF4JLoggerFactory.addInfo("About to stop " + loggerContext.getClass().getCanonicalName() + " [" + loggerContext.getName() + "]", this); loggerContext.stop(); } }
@Override public void contextDestroyed(ServletContextEvent event) { Platform.getInstance().doStop(); LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory(); loggerContext.stop(); }
/** * This method is designed to be used by unit tests only. */ void clear() { // This is volatile, read once for performance. final String name = loggerName; if (name != null) { CHANGE_LOGGER_CONTEXT_LOCK.lock(); try { loggerContext.stop(); final Logger logger = loggerContext.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME); logger.detachAndStopAllAppenders(); // Additional cleanup/reset for this name configureLoggers(name); } finally { CHANGE_LOGGER_CONTEXT_LOCK.unlock(); } StatusPrinter.setPrintStream(System.out); } }
private void stopAndReset(LoggerContext loggerContext) { loggerContext.stop(); loggerContext.reset(); if (isBridgeHandlerInstalled()) { addLevelChangePropagator(loggerContext); } }
public void contextDestroyed(ServletContextEvent servletContextEvent) { String loggerContextName = null; try { Context ctx = JNDIUtil.getInitialContext(); loggerContextName = (String) JNDIUtil.lookup(ctx, JNDI_CONTEXT_NAME); } catch (NamingException ne) { } if (loggerContextName != null) { System.out.println("About to detach context named " + loggerContextName); ContextSelector selector = ContextSelectorStaticBinder.getSingleton().getContextSelector(); if (selector == null) { System.out.println("Selector is null, cannot detach context. Skipping."); return; } LoggerContext context = selector.getLoggerContext(loggerContextName); if (context != null) { Logger logger = context.getLogger(Logger.ROOT_LOGGER_NAME); logger.warn("Stopping logger context " + loggerContextName); selector.detachLoggerContext(loggerContextName); // when the web-app is destroyed, its logger context should be stopped context.stop(); } else { System.out.println("No context named " + loggerContextName + " was found."); } } }
((LoggerContext) LoggerFactory.getILoggerFactory()).stop(); } catch (Exception e) {
@Override public void reset() { CHANGE_LOGGER_CONTEXT_LOCK.lock(); try { // Flush all the loggers and reinstate only the console logger as a // sane default. loggerContext.stop(); final Logger logger = loggerContext.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME); logger.detachAndStopAllAppenders(); final DropwizardLayout formatter = new DropwizardLayout(loggerContext, TimeZone.getDefault()); formatter.start(); final LayoutWrappingEncoder<ILoggingEvent> layoutEncoder = new LayoutWrappingEncoder<>(); layoutEncoder.setLayout(formatter); final ConsoleAppender<ILoggingEvent> consoleAppender = new ConsoleAppender<>(); consoleAppender.addFilter(new ThresholdLevelFilterFactory().build(Level.INFO)); consoleAppender.setEncoder(layoutEncoder); consoleAppender.setContext(loggerContext); consoleAppender.start(); logger.addAppender(consoleAppender); loggerContext.start(); } finally { CHANGE_LOGGER_CONTEXT_LOCK.unlock(); } }
private static void stopLog() { ILoggerFactory loggerFactory = LoggerFactory.getILoggerFactory(); if (loggerFactory instanceof LoggerContext) { LoggerContext context = (LoggerContext) loggerFactory; context.stop(); } }
@Override public void shutdown() { LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); lc.stop(); } }
@Override public void shutdown() { LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); lc.stop(); } }
@Override public void shutdown() { LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); lc.stop(); } }
private void flushLogs() { final long millisToWait = 100; LOG.info("Attempting to flush logs and wait {} ...", JavaUtils.durationFromMillis(millisToWait)); ILoggerFactory loggerFactory = LoggerFactory.getILoggerFactory(); if (loggerFactory instanceof LoggerContext) { LoggerContext context = (LoggerContext) loggerFactory; context.stop(); } try { Thread.sleep(millisToWait); } catch (Exception e) { LOG.info("While sleeping for log flush", e); } }
public void shutdown(final boolean inputStreamIsStdin) { if (!inputStreamIsStdin) { // Sadly it appears its impossible to interrupt a read() on a // process // input stream (at least under W2K), so we can't shut down the // message // pump cleanly. It runs in a daemon thread, so this isn't a big // deal. m_messagePump.shutdown(); } // Logback doesn't stop its loggers on exit (see LBCORE-202). We do // so explicitly to flush our BufferedEchoMessageEncoder. if (m_logbackLoggerContext != null) { m_logbackLoggerContext.stop(); } }
public void stopTaskLogger(String taskId, Logger logger) { LOG.info("Stopping task logger for {}", taskId); try { logger.info("Task finished, stopping logger"); logger.detachAndStopAllAppenders(); logger.getLoggerContext().stop(); } catch (Throwable t) { LOG.error("While closing task logger for {}", taskId, t); } }
public void contextDestroyed(ServletContextEvent servletContextEvent) { String loggerContextName = null; try { Context ctx = JNDIUtil.getInitialContext(); loggerContextName = (String) JNDIUtil.lookup(ctx, JNDI_CONTEXT_NAME); } catch (NamingException ne) { } if (loggerContextName != null) { System.out.println("About to detach context named " + loggerContextName); ContextSelector selector = ContextSelectorStaticBinder.getSingleton().getContextSelector(); if(selector == null) { System.out.println("Selector is null, cannot detach context. Skipping."); return; } LoggerContext context = selector.getLoggerContext(loggerContextName); if (context != null) { Logger logger = context.getLogger(Logger.ROOT_LOGGER_NAME); logger.warn("Stopping logger context " + loggerContextName); selector.detachLoggerContext(loggerContextName); // when the web-app is destroyed, its logger context should be stopped context.stop(); } else { System.out.println("No context named " + loggerContextName + " was found."); } } }
import org.slf4j.ILoggerFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ch.qos.logback.classic.LoggerContext; ... ILoggerFactory loggerFactory = LoggerFactory.getILoggerFactory(); // Check for logback implementation of slf4j if (loggerFactory instanceof LoggerContext) { LoggerContext context = (LoggerContext) loggerFactory; context.stop(); }