private void attachRootLogAppender(final JTextArea textArea) { Logger rootLogger = LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); ch.qos.logback.classic.Logger log = (ch.qos.logback.classic.Logger) rootLogger; LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory(); AppenderBase<ILoggingEvent> appender = new AppenderBase<ILoggingEvent>() { @Override protected void append(ILoggingEvent eventObject) { textArea.append(eventObject.getFormattedMessage() + System.lineSeparator()); } }; appender.setContext(context); appender.start(); log.addAppender(appender); log.info("Applet log appender attached"); }
private void doTest(final Level level, final String msg, final String prefix) { Appender<ILoggingEvent> appender = new AppenderBase<ILoggingEvent>() { @Override protected void append(final ILoggingEvent eventObject) { assertEquals(eventObject.getFormattedMessage(), prefix != null ? prefix + msg : msg); assertEquals(eventObject.getLevel().toString(), level.name()); } }; LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); lc.reset(); appender.setContext(lc); appender.start(); lc.getLogger(LoggingGobbleCallback.class).addAppender(appender); LoggingGobbleCallback callback = new LoggingGobbleCallback(level, prefix); callback.execute("foo"); }
@Before public void setUp() { LoggerContext ctx = (LoggerContext) LoggerFactory.getILoggerFactory(); // any errors logged by dispatcher are actually assertion errors ctx.getLogger(Dispatcher.class.getName() + ".Counter").addAppender(new AppenderBase<ILoggingEvent>() { @Override protected void append(ILoggingEvent event) { if (event.getLevel() == Level.ERROR) { collector.addError(new AssertionError(event.getFormattedMessage())); } } }); requestsMayFail = true; immediateRetries = true; }
private LogbackRecorder(Logger logger) { this.logger = logger; this.events = new ArrayList<>(); this.appender = new AppenderBase<ILoggingEvent>() { @Override protected synchronized void append(ILoggingEvent event) { events.add(new Event(event)); } }; }
static public void addDefaultNestedComponentRegistryRules( DefaultNestedComponentRegistry registry) { registry.add(AppenderBase.class, "layout", PatternLayout.class); registry.add(UnsynchronizedAppenderBase.class, "layout", PatternLayout.class); registry.add(AppenderBase.class, "encoder", PatternLayoutEncoder.class); registry.add(UnsynchronizedAppenderBase.class, "encoder", PatternLayoutEncoder.class); registry .add(EvaluatorFilter.class, "evaluator", JaninoEventEvaluator.class); SSLNestedComponentRegistryRules.addDefaultNestedComponentRegistryRules(registry); }
@Override protected void addDefaultNestedComponentRegistryRules( DefaultNestedComponentRegistry registry) { registry.add(AppenderBase.class, "layout", PatternLayout.class); registry .add(EvaluatorFilter.class, "evaluator", JaninoEventEvaluator.class); registry.add(AppenderBase.class, "encoder", PatternLayoutEncoder.class); registry.add(UnsynchronizedAppenderBase.class, "encoder", PatternLayoutEncoder.class); SSLNestedComponentRegistryRules.addDefaultNestedComponentRegistryRules(registry); }
public static void initLogback() { LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory(); StatusManager statusManager = loggerContext.getStatusManager(); if (statusManager != null) { statusManager.add(new InfoStatus("Setting up logger configuration.", loggerContext)); } final PatternLayout layout = new PatternLayout(); layout.setContext(loggerContext); layout.setPattern("%msg%n"); layout.start(); AppenderBase<ILoggingEvent> appender = new AppenderBase<ILoggingEvent>() { @Override protected void append(ILoggingEvent event) { String message = layout.doLayout(event); LogHelper.appendLogEntry(event.getTimeStamp(), convertLevel(event.getLevel()), event.getLoggerName(), event.getThreadName(), message); } }; appender.setContext(loggerContext); appender.setName(LOGBACK_APPENDER_NAME); appender.start(); Logger rootLogger = loggerContext.getLogger(Logger.ROOT_LOGGER_NAME); rootLogger.addAppender(appender); }