public LoggerContext getRootContext() { org.slf4j.Logger logger; while (!((logger = LoggerFactory.getLogger(ROOT_LOGGER_NAME)) instanceof Logger)) { // It occurs when the initialization step is still not finished because of a race condition // on ILoggerFactory.getILoggerFactory // http://jira.qos.ch/browse/SLF4J-167 // Substitute loggers are used. // http://www.slf4j.org/codes.html#substituteLogger // Bug is not fixed in SLF4J 1.7.14. try { Thread.sleep(10); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } } return ((Logger) logger).getLoggerContext(); }
public LoggingEvent(String fqcn, Logger logger, Level level, String message, Throwable throwable, Object[] argArray) { this.fqnOfLoggerClass = fqcn; this.loggerName = logger.getName(); this.loggerContext = logger.getLoggerContext(); this.loggerContextVO = loggerContext.getLoggerContextRemoteView(); this.level = level; this.message = message; this.argumentArray = argArray; if (throwable == null) { throwable = extractThrowableAnRearrangeArguments(argArray); } if (throwable != null) { this.throwableProxy = new ThrowableProxy(throwable); LoggerContext lc = logger.getLoggerContext(); if (lc.isPackagingDataEnabled()) { this.throwableProxy.calculatePackagingData(); } } timeStamp = System.currentTimeMillis(); }
public static void register() { Logger rootLogger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); LoggerContext loggerContext = rootLogger.getLoggerContext(); PatternLayout layout = new PatternLayout(); layout.setContext(loggerContext); layout.setPattern("%-5level: %msg%n"); layout.start(); INSTANCE.setContext(loggerContext); INSTANCE.setLayout(layout); INSTANCE.start(); rootLogger.addAppender(INSTANCE); }
final ch.qos.logback.classic.Logger rootLogger = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(ROOT_LOGGER_NAME); final LoggerContext context = rootLogger.getLoggerContext(); context.reset();
@Override public RequestLog build(String name) { final Logger logger = (Logger) LoggerFactory.getLogger("http.request"); logger.setAdditive(false); final LoggerContext context = logger.getLoggerContext(); final LogbackAccessRequestLog requestLog = new LogbackAccessRequestLog(); final LevelFilterFactory<IAccessEvent> levelFilterFactory = new NullLevelFilterFactory<>(); final AsyncAppenderFactory<IAccessEvent> asyncAppenderFactory = new AsyncAccessEventAppenderFactory(); final LayoutFactory<IAccessEvent> layoutFactory = new LogbackAccessRequestLayoutFactory(); for (AppenderFactory<IAccessEvent> output : appenders) { requestLog.addAppender(output.build(context, name, layoutFactory, levelFilterFactory, asyncAppenderFactory)); } return requestLog; } }
root.detachAndStopAllAppenders(); final Layout<ILoggingEvent> layout = layoutFactory.build(root.getLoggerContext(), TimeZone.getDefault()); layout.start(); appender.setContext(root.getLoggerContext());
@Override public RequestLog build(String name) { final Logger logger = (Logger) LoggerFactory.getLogger("http.request"); logger.setAdditive(false); final LoggerContext context = logger.getLoggerContext(); final LevelFilterFactory<ILoggingEvent> levelFilterFactory = new NullLevelFilterFactory<>(); final AsyncAppenderFactory<ILoggingEvent> asyncAppenderFactory = new AsyncLoggingEventAppenderFactory(); final LayoutFactory<ILoggingEvent> layoutFactory = (c, tz) -> new RequestLogLayout(c); final AppenderAttachableImpl<ILoggingEvent> attachable = new AppenderAttachableImpl<>(); for (AppenderFactory<ILoggingEvent> appender : appenders) { attachable.addAppender(appender.build(context, name, layoutFactory, levelFilterFactory, asyncAppenderFactory)); } return new DropwizardSlf4jRequestLog(attachable, timeZone); } }
@Before public void setUp() { rootLogger.getLoggerContext().getStatusManager().clear(); MDC.clear(); testLogger = (Logger) LoggerFactory.getLogger("loggerTest." + testName.getMethodName()); testLogger.setLevel(Level.ALL); }
appender.setContext(root.getLoggerContext()); appender.start(); root.addAppender(appender);
@After public void tearDown() { final Logger logger = (Logger) LoggerFactory.getLogger(getClass()); final StatusManager sm = rootLogger.getLoggerContext().getStatusManager(); int count = 0; for (Status s : sm.getCopyOfStatusList()) {
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 LoggingEvent(String fqcn, Logger logger, Level level, String message, Throwable throwable, Object[] argArray) { this.fqnOfLoggerClass = fqcn; this.loggerName = logger.getName(); this.loggerContext = logger.getLoggerContext(); this.loggerContextVO = loggerContext.getLoggerContextRemoteView(); this.level = level; this.message = message; this.argumentArray = argArray; if(throwable == null) { throwable = extractThrowableAnRearrangeArguments(argArray); } if (throwable != null) { this.throwableProxy = new ThrowableProxy(throwable); LoggerContext lc = logger.getLoggerContext(); if (lc.isPackagingDataEnabled()) { this.throwableProxy.calculatePackagingData(); } } timeStamp = System.currentTimeMillis(); }
LoggerContext loggerContext = ((ch.qos.logback.classic.Logger) ourLog).getLoggerContext(); URL mainURL = ConfigurationWatchListUtil.getMainWatchURL(loggerContext); System.out.println(mainURL);
private void setClassQualifiedTestName(final String name) { final LoggerContext loggerContext = ((ch.qos.logback.classic.Logger) LOGGER).getLoggerContext(); loggerContext.putProperty(LogbackPropertyValueDiscriminator.CLASS_QUALIFIED_TEST_NAME, name); }
public static void stopLogging() { Logger root = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); root.getLoggerContext().stop(); }
public void removeFromRootLogger() { stop(); Logger root = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); setContext(root.getLoggerContext()); root.detachAppender(this); }
public void bind() { applyPreferences(); Logger rootLogger = getRootLogger(); appender.setContext(rootLogger.getLoggerContext()); appender.start(); rootLogger.addAppender(appender); }
public static void bootstrap() { // initially configure for WARN+ console logging final ConsoleConfiguration console = new ConsoleConfiguration(); console.setEnabled(true); console.setTimeZone(TimeZone.getDefault()); console.setThreshold(Level.WARN); final Logger root = getCleanRoot(); root.addAppender(LogbackFactory.buildConsoleAppender(console, root.getLoggerContext(), Optional.<String>absent())); }
TextChunkedLogProducer(CloseableIterator<LogEvent> logEventIter, String logPattern, boolean escape) { super(logEventIter); this.escape = escape; ch.qos.logback.classic.Logger rootLogger = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); LoggerContext loggerContext = rootLogger.getLoggerContext(); patternLayout = new PatternLayout(); patternLayout.setContext(loggerContext); patternLayout.setPattern(logPattern); patternLayout.start(); }
@Test public void testRootLogger() { Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); LoggerContext lc = logger.getLoggerContext(); assertNotNull("Returned logger is null", logger); assertEquals("Return logger isn't named root", logger.getName(), Logger.ROOT_LOGGER_NAME); assertTrue("logger instances should be indentical", logger == lc.root); }