You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by Saibabu Vallurupalli <sa...@gmail.com> on 2014/01/23 19:57:42 UTC

Fwd: Help with rewrite appender

Hi Good morning.

I am trying to implement Rewrite Appender logic and based on my other
conversations I understood the way I am doing below, But still I am unable
to control certain messages.

My Policy class is:
***************
@Override
    public LoggingEvent rewrite(LoggingEvent source) {
        String msgToInspect = source.getMessage().toString();
        if (null != msgToInspect && msgToInspect.contains("///")) {
            return null;
        }

        return new LoggingEvent(source.getFQNOfLoggerClass(),
                source.getLogger(), source.getTimeStamp(),
source.getLevel(),
                source.getMessage(), source.getThreadName(),
                source.getThrowableInformation(), source.getNDC(),
                source.getLocationInformation(), source.getProperties());
    }
***************

My log4j.properties file I configured these lines:
log4j.appender.rewrite = org.apache.log4j.rewrite.RewriteAppender
log4j.appender.rewrite.appender-ref = R, C
log4j.appender.rewrite.rewritePolicy =
gov.hhs.fha.nhinc.log4j.policy.CONNECTLog4jRewritePolicy

where R is RollingFileAppender and C is ConsoleAppender. Based on my logic
above. I do not want to print the lines having /// slashes in the log
message. But I am still seeing those log statements.

Am I missing anything here? Please advise.

Thank you,
Sai