public void begin(InterpretationContext ic, String name, Attributes attributes) { threshold = System.currentTimeMillis(); // See LOGBACK-527 (the system property is looked up first. Thus, it overrides // the equivalent property in the config file. This reversal of scope priority is justified // by the use case: the admin trying to chase rogue config file String debugAttrib = getSystemProperty(DEBUG_SYSTEM_PROPERTY_KEY); if (debugAttrib == null) { debugAttrib = ic.subst(attributes.getValue(INTERNAL_DEBUG_ATTR)); } if (OptionHelper.isEmpty(debugAttrib) || debugAttrib.equalsIgnoreCase("false") || debugAttrib.equalsIgnoreCase("null")) { addInfo(INTERNAL_DEBUG_ATTR + " attribute not set"); } else { StatusListenerConfigHelper.addOnConsoleListenerInstance(context, new OnConsoleStatusListener()); } processScanAttrib(ic, attributes); LoggerContext lc = (LoggerContext) context; boolean packagingData = OptionHelper.toBoolean(ic.subst(attributes.getValue(PACKAGING_DATA_ATTR)), LoggerContext.DEFAULT_PACKAGING_DATA); lc.setPackagingDataEnabled(packagingData); if (EnvUtil.isGroovyAvailable()) { ContextUtil contextUtil = new ContextUtil(context); contextUtil.addGroovyPackages(lc.getFrameworkPackages()); } // the context is turbo filter attachable, so it is pushed on top of the // stack ic.pushObject(getContext()); }
private static void addStatusListener(LoggerContext loggerContext, String listenerClass) { StatusListener listener = null; if (ContextInitializer.SYSOUT.equalsIgnoreCase(listenerClass)) { listener = new OnConsoleStatusListener(); } else { listener = createListenerPerClassName(loggerContext, listenerClass); } initListener(loggerContext, listener); }
/** * This utility method adds a new OnConsoleStatusListener to the context * passed as parameter. * * @param context * @since 1.0.1 */ static public void addNewInstanceToContext(Context context) { OnConsoleStatusListener onConsoleStatusListener = new OnConsoleStatusListener(); onConsoleStatusListener.setContext(context); onConsoleStatusListener.start(); context.getStatusManager().add(onConsoleStatusListener); }
private static void addStatusListener(Context context, String listenerClassName) { StatusListener listener = null; if (CoreConstants.SYSOUT.equalsIgnoreCase(listenerClassName)) { listener = new OnConsoleStatusListener(); } else { listener = createListenerPerClassName(context, listenerClassName); } initAndAddListener(context, listener); }
private static void addStatusListener(Context context, String listenerClassName) { StatusListener listener = null; if (CoreConstants.SYSOUT.equalsIgnoreCase(listenerClassName)) { listener = new OnConsoleStatusListener(); } else { listener = createListenerPerClassName(context, listenerClassName); } initAndAddListener(context, listener); }
private static void addStatusListener(Context context, String listenerClassName) { StatusListener listener = null; if (CoreConstants.SYSOUT.equalsIgnoreCase(listenerClassName)) { listener = new OnConsoleStatusListener(); } else { listener = createListenerPerClassName(context, listenerClassName); } initAndAddListener(context, listener); }
public static void main(String[] args) throws JoranException { LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); StatusManager statusManager = lc.getStatusManager(); OnConsoleStatusListener onConsoleListener = new OnConsoleStatusListener(); statusManager.add(onConsoleListener); Logger logger = LoggerFactory.getLogger("myApp"); logger.info("Entering application."); Foo foo = new Foo(); foo.doIt(); logger.info("Exiting application."); } }
static void addStatusListener(LoggerContext loggerContext, String listenerClass) { StatusListener listener = null; if (ContextInitializer.SYSOUT.equalsIgnoreCase(listenerClass)) { listener = new OnConsoleStatusListener(); } else { try { listener = (StatusListener) OptionHelper.instantiateByClassName( listenerClass, StatusListener.class, loggerContext); } catch (Exception e) { // printing on the console is the best we can do e.printStackTrace(); } } if (listener != null) { loggerContext.getStatusManager().add(listener); } } }
static void addStatusListener(LoggerContext loggerContext, String listenerClass) { StatusListener listener = null; if (ContextInitializer.SYSOUT.equalsIgnoreCase(listenerClass)) { listener = new OnConsoleStatusListener(); } else { try { listener = (StatusListener) OptionHelper.instantiateByClassName( listenerClass, StatusListener.class, loggerContext); } catch (Exception e) { // printing on the console is the best we can do e.printStackTrace(); } } if (listener != null) { loggerContext.getStatusManager().add(listener); } } }
@Override public void begin(InterpretationContext ec, String name, Attributes attributes) { // See LBCLASSIC-225 (the system property is looked up first. Thus, it overrides // the equivalent property in the config file. This reversal of scope priority is justified // by the use case: the admin trying to chase rogue config file String debugAttrib = System.getProperty(DEBUG_SYSTEM_PROPERTY_KEY); if (debugAttrib == null) { debugAttrib = attributes.getValue(INTERNAL_DEBUG_ATTR); } if (OptionHelper.isEmpty(debugAttrib) || debugAttrib.equals("false") || debugAttrib.equals("null")) { addInfo(INTERNAL_DEBUG_ATTR + " attribute not set"); } else { StatusListenerConfigHelper.addOnConsoleListenerInstance(context, new OnConsoleStatusListener()); } // the context is appender attachable, so it is pushed on top of the stack ec.pushObject(getContext()); }
/** * This utility method adds a new OnConsoleStatusListener to the context * passed as parameter. * * @param context * @since 1.0.1 */ static public void addNewInstanceToContext(Context context) { OnConsoleStatusListener onConsoleStatusListener = new OnConsoleStatusListener(); onConsoleStatusListener.setContext(context); onConsoleStatusListener.start(); context.getStatusManager().add(onConsoleStatusListener); }
/** * This utility method adds a new OnConsoleStatusListener to the context passed as parameter. * * @param context * @since 1.0.1 */ static public void addNewInstanceToContext(Context context) { OnConsoleStatusListener onConsoleStatusListener = new OnConsoleStatusListener(); onConsoleStatusListener.setContext(context); onConsoleStatusListener.start(); context.getStatusManager().add(onConsoleStatusListener); } }
/** * This utility method adds a new OnConsoleStatusListener to the context passed as parameter. * * @param context * @since 1.0.1 */ static public void addNewInstanceToContext(Context context) { OnConsoleStatusListener onConsoleStatusListener = new OnConsoleStatusListener(); onConsoleStatusListener.setContext(context); onConsoleStatusListener.start(); context.getStatusManager().add(onConsoleStatusListener); } }
@VisibleForTesting public synchronized void initialize(String loggerName) { LoggerContext loggerContext = getLoggerContext(); if (loggerContext != null) { Logger logger = loggerContext.getLogger(loggerName); // Check if the logger already contains the logAppender if (Iterators.contains(logger.iteratorForAppenders(), logAppender)) { LOG.warn("Log appender {} is already initialized.", logAppender.getName()); return; } logAppender.setContext(loggerContext); LOG.info("Initializing log appender {}", logAppender.getName()); // Display any errors during initialization of log appender to console StatusManager statusManager = loggerContext.getStatusManager(); OnConsoleStatusListener onConsoleListener = new OnConsoleStatusListener(); statusManager.add(onConsoleListener); logAppender.start(); logger.addAppender(logAppender); } }
@VisibleForTesting public synchronized void initialize(String loggerName) { LoggerContext loggerContext = getLoggerContext(); if (loggerContext != null) { Logger logger = loggerContext.getLogger(loggerName); // Check if the logger already contains the logAppender if (Iterators.contains(logger.iteratorForAppenders(), logAppender)) { LOG.warn("Log appender {} is already initialized.", logAppender.getName()); return; } logAppender.setContext(loggerContext); LOG.info("Initializing log appender {}", logAppender.getName()); // Display any errors during initialization of log appender to console StatusManager statusManager = loggerContext.getStatusManager(); OnConsoleStatusListener onConsoleListener = new OnConsoleStatusListener(); statusManager.add(onConsoleListener); logAppender.start(); logger.addAppender(logAppender); } }
@Test public void duplicateInstallationsOfOnConsoleListener() { OnConsoleStatusListener sl0 = new OnConsoleStatusListener(); sl0.start(); OnConsoleStatusListener sl1 = new OnConsoleStatusListener(); sl1.start(); assertTrue(bsm.add(sl0)); { List<StatusListener> listeners = bsm.getCopyOfStatusListenerList(); assertEquals(1, listeners.size()); } assertFalse(bsm.add(sl1)); { List<StatusListener> listeners = bsm.getCopyOfStatusListenerList(); assertEquals(1, listeners.size()); } }
@Before public void addHandler() throws Exception { mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); final String xml = Resources.toString(KafkaAppenderTest.class.getResource("/logback-kafka.xml"), Charsets.UTF_8) .replaceAll("\\$KAFKA\\$", kafka.getBroker().getKafkaBrokerConnect()); final OnConsoleStatusListener listener = new OnConsoleStatusListener(); listener.start(); context.getStatusManager().add(listener); final JoranConfigurator configurator = new JoranConfigurator(); configurator.setContext(context); configurator.doConfigure(new ByteArrayInputStream(xml.getBytes(Charsets.UTF_8))); context.start(); }
@Before @Override public void setUp() throws ParseException { super.setUp(); StatusListenerConfigHelper.addOnConsoleListenerInstance(context, new OnConsoleStatusListener()); delayingShutdownHook.setContext(context); initRFA(rfa); }
@Test public void addOnConsoleListenerInstanceShouldNotStartSecondListener() { OnConsoleStatusListener ocl0 = new OnConsoleStatusListener(); OnConsoleStatusListener ocl1 = new OnConsoleStatusListener(); StatusListenerConfigHelper.addOnConsoleListenerInstance(context, ocl0); { List<StatusListener> listeners = sm.getCopyOfStatusListenerList(); assertEquals(1, listeners.size()); assertTrue(ocl0.isStarted()); } // second listener should not have been started StatusListenerConfigHelper.addOnConsoleListenerInstance(context, ocl1); { List<StatusListener> listeners = sm.getCopyOfStatusListenerList(); assertEquals(1, listeners.size()); assertFalse(ocl1.isStarted()); } }
@Before public void setUp() throws InterruptedException { context.getStatusManager().add(new OnConsoleStatusListener()); File outputDir = new File(outputDirStr); outputDir.mkdirs(); fa.setContext(context); fa.setName("FILE"); fa.setPrudent(true); fa.setEncoder(new EchoEncoder<Object>()); fa.setFile(logfileStr); fa.start(); }