void writeTo(Outstream target) { ConsoleAppender<ILoggingEvent> appender = new ConsoleAppender<>(); appender.setTarget(target.target.getName()); appender.setEncoder(LogHelper.encoder("%date{ISO8601} [" + target.marker + "] - %msg%n")); appender.start(); appenders.add(appender); }
@Override protected OutputStreamAppender<E> appender(LoggerContext context) { final ConsoleAppender<E> appender = new ConsoleAppender<>(); appender.setName("console-appender"); appender.setContext(context); appender.setTarget(target.get()); return appender; } }
private void initializeLoggerForPluginId(String pluginId) { if (alreadyInitialized(pluginId)) { return; } synchronized (pluginId.intern()) { if (alreadyInitialized(pluginId)) { return; } synchronized (appenderCreationLock) { FileAppender<ILoggingEvent> pluginAppender = getAppender(pluginId); ch.qos.logback.classic.Logger logger = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(PLUGIN_LOGGER_PREFIX + "." + pluginId); logger.setAdditive(false); logger.setLevel(systemEnvironment.pluginLoggingLevel(pluginId)); logger.addAppender(pluginAppender); if (systemEnvironment.consoleOutToStdout()) { ConsoleAppender<ILoggingEvent> consoleAppender = new ConsoleAppender<>(); consoleAppender.setEncoder(LogHelper.encoder("%d{ISO8601} %5p [%t] %c{1}:%L [plugin-" + pluginId + "] - %m%n")); logger.setAdditive(false); logger.setLevel(systemEnvironment.pluginLoggingLevel(pluginId)); consoleAppender.start(); logger.addAppender(consoleAppender); } loggingServiceLogger.debug("Plugin with ID: " + pluginId + " will log to: " + pluginAppender.rawFileProperty()); } } }
private Map<String, Appender<ILoggingEvent>> createConsoleAppenders(final LoggerContext context, final LogbackModule module) { Map<String, Appender<ILoggingEvent>> appendersMap = new HashMap<>(); for (ConsoleAppenderTO appender : module.getConsoleAppenderTO()) { Preconditions.checkState(appendersMap.containsKey(appender.getName()) == false, "Duplicate appender name %s", appender.getName()); ch.qos.logback.core.ConsoleAppender<ILoggingEvent> app = new ch.qos.logback.core.ConsoleAppender<>(); app.setContext(context); PatternLayoutEncoder encoder = new PatternLayoutEncoder(); encoder.setContext(context); encoder.setPattern(appender.getEncoderPattern()); encoder.start(); app.setEncoder(encoder); ThresholdFilter filter = new ThresholdFilter(); filter.setContext(context); filter.setLevel(appender.getThresholdFilter()); filter.start(); app.getCopyOfAttachedFiltersList().add(filter); app.setName(appender.getName()); app.start(); appendersMap.put(app.getName(), app); } return appendersMap; }
ConsoleAppender<ILoggingEvent> consoleAppender = new ConsoleAppender<>(); consoleAppender.setContext(loggerContext); consoleAppender.setName("CONSOLE"); consoleAppender.setLayout(new ConsoleLayout()); consoleFilter.start(); consoleAppender.addFilter(consoleFilter); consoleAppender.setTarget("System.err"); consoleAppender.start();
private Appender<ILoggingEvent> consoleAppender(LogbackConfigurator config) { ConsoleAppender<ILoggingEvent> appender = new ConsoleAppender<>(); PatternLayoutEncoder encoder = new PatternLayoutEncoder(); String logPattern = this.patterns.getProperty("logging.pattern.console", CONSOLE_LOG_PATTERN); encoder.setPattern(OptionHelper.substVars(logPattern, config.getContext())); config.start(encoder); appender.setEncoder(encoder); config.appender("CONSOLE", appender); return appender; }
private static OutputStreamAppender<ILoggingEvent> configureConsoleLogging(LoggerContext loggerContext) { ConsoleAppender<ILoggingEvent> consoleAppender = new ConsoleAppender<ILoggingEvent>(); consoleAppender.setName("com.documents4j.logger.server.console"); consoleAppender.setContext(loggerContext); System.out.println("Logging: The log is printed to the console"); return consoleAppender; }
private Appender buildAppender(LogContext logContext, Encoder encoder) { ConsoleAppender appender = new ConsoleAppender(); appender.setName(APPENDER_NAME); appender.setEncoder(encoder); logContext.getConfigurator().start(appender); return appender; }
@Test public void wrongTarget() { ConsoleAppender<Object> ca = (ConsoleAppender<Object>) getAppender(); EchoEncoder<Object> encoder = new EchoEncoder<Object>(); encoder.setContext(context); ca.setContext(context); ca.setTarget("foo"); ca.setEncoder(encoder); ca.start(); ca.doAppend("a"); StatusChecker checker = new StatusChecker(context); //21:28:01,246 + WARN in ch.qos.logback.core.ConsoleAppender[null] - [foo] should be one of [System.out, System.err] //21:28:01,246 |-WARN in ch.qos.logback.core.ConsoleAppender[null] - Using previously set target, System.out by default. // StatusPrinter.print(context); checker.assertContainsMatch(Status.WARN, "\\[foo\\] should be one of \\[System.out, System.err\\]"); }
@Test public void changeInConsole() { ConsoleAppender<Object> ca = (ConsoleAppender<Object>) getAppender(); EchoEncoder<Object> encoder = new EchoEncoder<Object>(); ca.setEncoder(encoder); ca.start(); ca.doAppend("a"); assertEquals("a" + CoreConstants.LINE_SEPARATOR, tee.toString()); XTeeOutputStream newTee = new XTeeOutputStream(null); System.setOut(new PrintStream(newTee)); ca.doAppend("b"); assertEquals("b" + CoreConstants.LINE_SEPARATOR, newTee.toString()); }
@Test public void open() { ConsoleAppender<Object> ca = (ConsoleAppender<Object>) getAppender(); DummyEncoder<Object> dummyEncoder = new DummyEncoder<Object>(); dummyEncoder.setFileHeader("open"); ca.setEncoder(dummyEncoder); ca.start(); ca.doAppend(new Object()); ca.stop(); assertEquals("open" + CoreConstants.LINE_SEPARATOR + DummyLayout.DUMMY, tee .toString()); }
@Override public void configure(LoggerContext context) throws InitializationException { super.configure(context, "console-appender", new ConsoleAppender<ILoggingEvent>()); } }
ConsoleAppender<ILoggingEvent> ca = new ConsoleAppender<>(); ca.setContext(loggerContext);
final LoggerContext ctx = (LoggerContext) new org.apache.logging.log4j.core.LoggerContext("console" ); final Configuration config = ((org.apache.logging.log4j.core.LoggerContext) ctx).getConfiguration(); console.start(); config.addAppender(console); AppenderRef ref = AppenderRef.createAppenderRef("console", null, null);
AbstractConfiguration config = (AbstractConfiguration) ctx.getConfiguration(); ConsoleAppender appender = ConsoleAppender.createDefaultAppenderForLayout(PatternLayout.createDefaultLayout()); appender.start(); config.addAppender(appender); AppenderRef[] refs = new AppenderRef[] { AppenderRef.createAppenderRef(appender.getName(), null, null) }; LoggerConfig loggerConfig = LoggerConfig.createLogger("false", Level.ALL, LogManager.ROOT_LOGGER_NAME, "true", refs, null, config, null); loggerConfig.addAppender(appender, null, null);
((ConsoleAppender<ILoggingEvent>)appender).setEncoder(encoder); } else if (appender instanceof FileAppender) {
/** * Build a new appender that will log to the console * * @param context The logger context (not used by this logger) * @param encoder The encoder to use (if that is possible for the specific appender) * @return The new console-based log appender */ @Override protected Appender<ILoggingEvent> createAppender( LoggerContext context, Encoder<ILoggingEvent> encoder) { ConsoleAppender<ILoggingEvent> appender = new ConsoleAppender<>(); appender.setEncoder(encoder); return appender; } }
protected Appender<Object> getConfiguredAppender() { ConsoleAppender<Object> ca = new ConsoleAppender<Object>(); ca.setEncoder(new NopEncoder<Object>()); ca.start(); return ca; }
private static OutputStreamAppender<ILoggingEvent> configureConsoleLogging(LoggerContext loggerContext) { ConsoleAppender<ILoggingEvent> consoleAppender = new ConsoleAppender<ILoggingEvent>(); consoleAppender.setName("com.documents4j.logger.client.console"); consoleAppender.setContext(loggerContext); System.out.println("Logging: The log is printed to the console"); return consoleAppender; }
@Test public void smoke() { ConsoleAppender<Object> ca = (ConsoleAppender<Object>) getAppender(); ca.setEncoder(new DummyEncoder<Object>()); ca.start(); ca.doAppend(new Object()); assertEquals(DummyLayout.DUMMY, tee.toString()); }