You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Fábio Constantino (Jira)" <ji...@apache.org> on 2021/12/23 13:39:00 UTC

[jira] [Created] (LOG4J2-3281) PropertiesConfiguration.buildAppender not adding filters to appender

Fábio Constantino created LOG4J2-3281:
-----------------------------------------

             Summary: PropertiesConfiguration.buildAppender not adding filters to appender
                 Key: LOG4J2-3281
                 URL: https://issues.apache.org/jira/browse/LOG4J2-3281
             Project: Log4j 2
          Issue Type: Bug
          Components: Appenders, Configurators
    Affects Versions: 2.17.0
            Reporter: Fábio Constantino


When building an appender, the _parseAppenderFilters_ method correctly finds my custom filter configuration in the properties file, builds it and returns it, but the caller ({_}buildAppender{_} method) does nothing with it resulting in the appender not having any filters added to it.

 

This is related to the linked issue - [LOG4J2-3247|https://issues.apache.org/jira/browse/LOG4J2-3247] - where the scenario is the same (properties file config):
{code:java}
log4j1.compatibility=true

log4j.appender.LOG_REQUEST_START_DB=my.appender.class
log4j.appender.LOG_REQUEST_START_DB.filter.ID=my.filter.class {code}
the Filter class I'm working with is the following:
{code:java}
import org.apache.log4j.spi.Filter;
import org.apache.log4j.spi.LoggingEvent;

public class MonitorFilter extends Filter {
    @Override
    public int decide(LoggingEvent event) {
        String requestId = (String)event.getMDC("requestId");
        if (StringHelper.isNullOrEmpty(requestId))
            return DENY;        
        
        if (!MonitorScriptManager.getInstance().getMonitorScript().filter(event))
            return DENY;
        
        return ACCEPT;
    }
} {code}
I am using the following log4j dependencies:
{code:java}
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.17.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.17.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-1.2-api</artifactId>
            <version>2.17.0</version>
        </dependency> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)