private LogWriter() { pentahoLogger = Logger.getLogger( STRING_PENTAHO_DI_LOGGER_NAME ); pentahoLogger.setAdditivity( false );
/** Parse the additivity option for a non-root category. */ void parseAdditivityForLogger(Properties props, Logger cat, String loggerName) { String value = OptionConverter.findAndSubst(ADDITIVITY_PREFIX + loggerName, props); LogLog.debug("Handling "+ADDITIVITY_PREFIX + loggerName+"=["+value+"]"); // touch additivity only if necessary if((value != null) && (!value.equals(""))) { boolean additivity = OptionConverter.toBoolean(value, true); LogLog.debug("Setting additivity for \""+loggerName+"\" to "+ additivity); cat.setAdditivity(additivity); } }
@Override public void init() { pentahoLogger = createLogger( STRING_PENTAHO_DI_LOGGER_NAME ); pentahoLogger.setAdditivity( false ); KettleLogStore.getAppender().addLoggingEventListener( this ); }
Logger c = (Logger) cats.nextElement(); c.setLevel(null); c.setAdditivity(true); c.setResourceBundle(null);
cat.setAdditivity(additivity); parseChildrenOfLoggerElement(loggerElement, cat, false);
clientLogger.setLevel(Level.WARN); clientLogger.setAdditivity(false); } catch (IOException e) { logger.warn("Cannot write warnings to client", e);
clientLogger.setLevel(Level.WARN); clientLogger.setAdditivity(false); } catch (IOException e) { logger.warn("Cannot write warnings to client", e);
/** * Make the metrics logger async and add all pre-existing appenders to the * async appender. */ public static void makeMetricsLoggerAsync(Log metricsLog) { if (!(metricsLog instanceof Log4JLogger)) { LOG.warn("Metrics logging will not be async since " + "the logger is not log4j"); return; } org.apache.log4j.Logger logger = ((Log4JLogger) metricsLog).getLogger(); logger.setAdditivity(false); // Don't pollute actual logs with metrics dump @SuppressWarnings("unchecked") List<Appender> appenders = Collections.list(logger.getAllAppenders()); // failsafe against trying to async it more than once if (!appenders.isEmpty() && !(appenders.get(0) instanceof AsyncAppender)) { AsyncAppender asyncAppender = new AsyncAppender(); // change logger to have an async appender containing all the // previously configured appenders for (Appender appender : appenders) { logger.removeAppender(appender); asyncAppender.addAppender(appender); } logger.addAppender(asyncAppender); } } }
/** Parse the additivity option for a non-root category. */ void parseAdditivityForLogger(Properties props, Logger cat, String loggerName) { String value = OptionConverter.findAndSubst(ADDITIVITY_PREFIX + loggerName, props); LogLog.debug("Handling "+ADDITIVITY_PREFIX + loggerName+"=["+value+"]"); // touch additivity only if necessary if((value != null) && (!value.equals(""))) { boolean additivity = OptionConverter.toBoolean(value, true); LogLog.debug("Setting additivity for \""+loggerName+"\" to "+ additivity); cat.setAdditivity(additivity); } }
Logger c = (Logger) cats.nextElement(); c.setLevel(null); c.setAdditivity(true); c.setResourceBundle(null);
cat.setAdditivity(additivity); parseChildrenOfLoggerElement(loggerElement, cat, false);
private void initAnalyticsLogger() { analyticsLog.setAdditivity(false); analyticsLog.setLevel(Level.INFO); }
@Override public org.apache.log4j.Logger makeNewLoggerInstance(String name) { org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(name); logger.addAppender(appender); logger.setLevel(org.apache.log4j.Level.INFO); logger.setAdditivity(false); return logger; } };
@Override public Logger makeNewLoggerInstance(String name) { Logger logger = Logger.getLogger(name); logger.addAppender(appender); logger.setLevel(Level.INFO); logger.setAdditivity(false); return logger; } };
static void addLogAppendersFromRoot(Logger zipkinLogger) { zipkinLogger.setAdditivity(false); for (Enumeration e = Logger.getRootLogger().getAllAppenders(); e.hasMoreElements(); ) { zipkinLogger.addAppender((Appender) e.nextElement()); } } }
protected void configureLog4j(Log log, String name) { Logger logger = Logger.getLogger(name); logger.setAdditivity(false); try { logger.setLevel(LOG4J_DEFAULT_LOG_LEVEL); } catch (NoSuchMethodError e) { // see http://bugzilla.slf4j.org/show_bug.cgi?id=279 } logger.removeAllAppenders(); logger.addAppender(createMojoLogAppender(log)); }
/** * Adds an appender to the default logger that will output to the default console with the TTCC conversion pattern. * Call this method if you don't have Log4J configured from properties. * In addition, additivity is set to false for the default logger. */ public static void setupConsoleAppenderForDefaultLogger() { Logger logger = getDefaultLogger(); logger.setAdditivity(false); logger.addAppender(new ConsoleAppender(new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN))); }
@Override protected void after() { logger.setLevel(savedLoggerLevel); logger.setAdditivity(savedLoggerAdditivity); logger.removeAppender(appender); super.after(); }
private void prepareServerLog(final File log) throws IOException { final Layout layout = new PatternLayout("%d{dd.MM.yyyy HH:mm:ss} *%-5p* %c{1}: %m%n"); final Logger jackrabbitLog = Logger.getRootLogger(); jackrabbitAppender = new FileAppender(layout, new File(log, "jackrabbit.log").getPath()); jackrabbitAppender.setThreshold(Level.ALL); jackrabbitLog.addAppender(jackrabbitAppender); final Logger jettyLog = Logger.getLogger("org.mortbay.log"); jettyAppender = new FileAppender(layout, new File(log, "jetty.log").getPath()); jettyAppender.setThreshold(Level.ALL); jettyLog.addAppender(jettyAppender); jettyLog.setAdditivity(false); System.setProperty("derby.stream.error.file", new File(log, "derby.log").getPath()); }
@Test public void multiappender() { Appender consoleAppender = new ConsoleAppender(new org.apache.log4j.SimpleLayout(), ConsoleAppender.SYSTEM_OUT); Logger l1 = Logger.getLogger("1"); l1.addAppender(consoleAppender); Logger l2 = Logger.getLogger("1.2"); l2.addAppender(consoleAppender); l2.setAdditivity(false); l2.fatal("One log"); } }