Search in sources :

Example 26 with Filter

use of org.apache.log4j.spi.Filter in project logging-log4j2 by apache.

the class RewriteAppenderBuilder method parseAppender.

@Override
public Appender parseAppender(final String name, final String appenderPrefix, final String layoutPrefix, final String filterPrefix, final Properties props, final PropertiesConfiguration configuration) {
    String appenderRef = getProperty(APPENDER_REF_TAG);
    Filter filter = configuration.parseAppenderFilters(props, filterPrefix, name);
    String policyPrefix = appenderPrefix + ".rewritePolicy";
    String className = getProperty(policyPrefix);
    RewritePolicy policy = configuration.getBuilderManager().parseRewritePolicy(className, policyPrefix, props, configuration);
    String level = getProperty(THRESHOLD_PARAM);
    if (appenderRef == null) {
        LOGGER.warn("No appender references configured for AsyncAppender {}", name);
        return null;
    }
    Appender appender = configuration.parseAppender(props, appenderRef);
    if (appender == null) {
        LOGGER.warn("Cannot locate Appender {}", appenderRef);
        return null;
    }
    return createAppender(name, level, new String[] { appenderRef }, policy, filter, configuration);
}
Also used : RewriteAppender(org.apache.logging.log4j.core.appender.rewrite.RewriteAppender) Appender(org.apache.log4j.Appender) Filter(org.apache.log4j.spi.Filter) RewritePolicy(org.apache.log4j.rewrite.RewritePolicy)

Example 27 with Filter

use of org.apache.log4j.spi.Filter in project logging-log4j2 by apache.

the class RewriteAppenderBuilder method parseAppender.

@Override
public Appender parseAppender(final Element appenderElement, final XmlConfiguration config) {
    String name = getNameAttribute(appenderElement);
    Holder<List<String>> appenderRefs = new Holder<>(new ArrayList<>());
    Holder<RewritePolicy> rewritePolicyHolder = new Holder<>();
    Holder<String> level = new Holder<>();
    Holder<Filter> filter = new Holder<>();
    forEachElement(appenderElement.getChildNodes(), (currentElement) -> {
        switch(currentElement.getTagName()) {
            case APPENDER_REF_TAG:
                Appender appender = config.findAppenderByReference(currentElement);
                if (appender != null) {
                    appenderRefs.get().add(appender.getName());
                }
                break;
            case REWRITE_POLICY_TAG:
                {
                    RewritePolicy policy = config.parseRewritePolicy(currentElement);
                    if (policy != null) {
                        rewritePolicyHolder.set(policy);
                    }
                    break;
                }
            case FILTER_TAG:
                {
                    filter.set(config.parseFilters(currentElement));
                    break;
                }
            case PARAM_TAG:
                {
                    if (getNameAttributeKey(currentElement).equalsIgnoreCase(THRESHOLD_PARAM)) {
                        String value = getValueAttribute(currentElement);
                        if (value == null) {
                            LOGGER.warn("No value supplied for Threshold parameter, ignoring.");
                        } else {
                            level.set(value);
                        }
                    }
                    break;
                }
        }
    });
    return createAppender(name, level.get(), appenderRefs.get().toArray(new String[0]), rewritePolicyHolder.get(), filter.get(), config);
}
Also used : RewriteAppender(org.apache.logging.log4j.core.appender.rewrite.RewriteAppender) Appender(org.apache.log4j.Appender) Filter(org.apache.log4j.spi.Filter) Holder(org.apache.log4j.builders.Holder) ArrayList(java.util.ArrayList) List(java.util.List) RewritePolicy(org.apache.log4j.rewrite.RewritePolicy)

Example 28 with Filter

use of org.apache.log4j.spi.Filter in project logging-log4j2 by apache.

the class DailyRollingFileAppenderBuilder method parseAppender.

@Override
public Appender parseAppender(final String name, final String appenderPrefix, final String layoutPrefix, final String filterPrefix, final Properties props, final PropertiesConfiguration configuration) {
    Layout layout = configuration.parseLayout(layoutPrefix, name, props);
    Filter filter = configuration.parseAppenderFilters(props, filterPrefix, name);
    String fileName = getProperty(FILE_PARAM);
    String level = getProperty(THRESHOLD_PARAM);
    boolean append = getBooleanProperty(APPEND_PARAM);
    boolean immediateFlush = false;
    boolean bufferedIo = getBooleanProperty(BUFFERED_IO_PARAM);
    int bufferSize = Integer.parseInt(getProperty(BUFFER_SIZE_PARAM, "8192"));
    return createAppender(name, layout, filter, fileName, append, immediateFlush, level, bufferedIo, bufferSize, configuration);
}
Also used : Layout(org.apache.log4j.Layout) Filter(org.apache.log4j.spi.Filter)

Example 29 with Filter

use of org.apache.log4j.spi.Filter in project logging-log4j2 by apache.

the class XmlConfiguration method parseFilters.

/**
 * Used internally to parse a filter element.
 * @param filterElement The Filter Element.
 * @return The Filter.
 */
public Filter parseFilters(Element filterElement) {
    String className = subst(filterElement.getAttribute(CLASS_ATTR));
    LOGGER.debug("Class name: [" + className + ']');
    Filter filter = manager.parseFilter(className, filterElement, this);
    if (filter == null) {
        PropertySetter propSetter = new PropertySetter(filter);
        forEachElement(filterElement.getChildNodes(), (currentElement) -> {
            String tagName = currentElement.getTagName();
            if (tagName.equals(PARAM_TAG)) {
                setParameter(currentElement, propSetter);
            } else {
                quietParseUnrecognizedElement(filter, currentElement, props);
            }
        });
        propSetter.activate();
    }
    return filter;
}
Also used : Filter(org.apache.log4j.spi.Filter) PropertySetter(org.apache.log4j.config.PropertySetter)

Example 30 with Filter

use of org.apache.log4j.spi.Filter in project zeppelin by apache.

the class HeliumBundleFactory method configureLogger.

private synchronized void configureLogger() {
    org.apache.log4j.Logger npmLogger = org.apache.log4j.Logger.getLogger("com.github.eirslett.maven.plugins.frontend.lib.DefaultYarnRunner");
    Enumeration appenders = org.apache.log4j.Logger.getRootLogger().getAllAppenders();
    if (appenders != null) {
        while (appenders.hasMoreElements()) {
            Appender appender = (Appender) appenders.nextElement();
            appender.addFilter(new Filter() {

                @Override
                public int decide(LoggingEvent loggingEvent) {
                    if (loggingEvent.getLoggerName().contains("DefaultYarnRunner")) {
                        return DENY;
                    } else {
                        return NEUTRAL;
                    }
                }
            });
        }
    }
    npmLogger.addAppender(new WriterAppender(new PatternLayout("%m%n"), out));
}
Also used : Appender(org.apache.log4j.Appender) WriterAppender(org.apache.log4j.WriterAppender) LoggingEvent(org.apache.log4j.spi.LoggingEvent) Enumeration(java.util.Enumeration) FilenameFilter(java.io.FilenameFilter) Filter(org.apache.log4j.spi.Filter) FileFilter(java.io.FileFilter) PatternLayout(org.apache.log4j.PatternLayout) WriterAppender(org.apache.log4j.WriterAppender)

Aggregations

Filter (org.apache.log4j.spi.Filter)31 Appender (org.apache.log4j.Appender)14 Layout (org.apache.log4j.Layout)9 LoggingEvent (org.apache.log4j.spi.LoggingEvent)7 ArrayList (java.util.ArrayList)5 WriterAppender (org.apache.log4j.WriterAppender)5 Enumeration (java.util.Enumeration)4 List (java.util.List)4 Logger (org.apache.log4j.Logger)4 FileAppender (org.apache.log4j.FileAppender)3 PatternLayout (org.apache.log4j.PatternLayout)3 FilterWrapper (org.apache.log4j.bridge.FilterWrapper)3 PropertySetter (org.apache.log4j.config.PropertySetter)3 ErrorHandler (org.apache.log4j.spi.ErrorHandler)3 LevelMatchFilter (org.apache.log4j.varia.LevelMatchFilter)3 LevelRangeFilter (org.apache.log4j.varia.LevelRangeFilter)3 NullAppender (org.apache.log4j.varia.NullAppender)3 IOException (java.io.IOException)2 HashMap (java.util.HashMap)2 HashSet (java.util.HashSet)2