harshal
harshal

Reputation: 153

Log4j StringMatchFilter and denyAll filter properties configuration

Can anyone please let me know what filter properties to use? I want to separate the log messages into two different log files. Below is the configuration which I am trying to use, but it's not working. In log1 I want to log all messages that don't contain 'UserMgmt-' and in log2 I want to only log messages that do contain 'UserMgmt-'.

log4j.logger.com.abc=DEBUG, log1
log4j.logger.com.abc=DEBUG, log2


log4j.appender.log1=org.apache.log4j.RollingFileAppender
log4j.appender.log1.Append=true
log4j.appender.log1.File=C:/Oracle/Middleware/user_projects/domains/logs/G_loAFg/UM.log
log4j.appender.log1.layout=org.apache.log4j.PatternLayout
log4j.appender.log1.layout.ConversionPattern=%d %-6p [%c] %m%n
log4j.appender.log1.filter.1=org.apache.log4j.varia.StringMatchFilter
log4j.appender.log1.filter.1.StringToMatch=UserMgmt-  
log4j.appender.log1.filter.1.AcceptOnMatch=false

log4j.appender.log2=org.apache.log4j.RollingFileAppender
log4j.appender.log2.Append=true
log4j.appender.log2.File=C:/Oracle/Middleware/user_projects/domains/logs/PM.log
log4j.appender.log2.layout=org.apache.log4j.PatternLayout
log4j.appender.log2.layout.ConversionPattern=%d %-6p [%c] %m%n
log4j.appender.log2.filter.1=org.apache.log4j.varia.StringMatchFilter
log4j.appender.log2.filter.1.StringToMatch=UserMgmt-  
log4j.appender.log2.filter.1.AcceptOnMatch=true

Upvotes: 4

Views: 6925

Answers (2)

Eric Saehrig
Eric Saehrig

Reputation: 11

using org.apache.log4j_1.2.17.jar I set the filter to deny what I didn't want and then allowed everything else.

log4j.appender.NormalAppender.filter.1=org.apache.log4j.varia.StringMatchFilter log4j.appender.NormalAppender.filter.1.StringToMatch=User.Dashboard log4j.appender.NormalAppender.filter.1.AcceptOnMatch=false log4j.appender.NormalAppender.filter.1=org.apache.log4j.varia.AllowAllFilter

Upvotes: 1

harshal
harshal

Reputation: 153

Added deny all filter in 1st log1 after that it worked

log4j.appender.log1.filter=org.apache.log4j.varia.DenyAllFilter

log4j.logger.com.abc=DEBUG, log1
log4j.logger.com.abc=DEBUG, log2


log4j.appender.log1=org.apache.log4j.RollingFileAppender
log4j.appender.log1.Append=true
log4j.appender.log1.File=C:/Oracle/Middleware/user_projects/domains/logs/G_loAFg/UM.log
log4j.appender.log1.layout=org.apache.log4j.PatternLayout
log4j.appender.log1.layout.ConversionPattern=%d %-6p [%c] %m%n
log4j.appender.log1.filter.1=org.apache.log4j.varia.StringMatchFilter
log4j.appender.log1.filter.1.StringToMatch=UserMgmt-  
log4j.appender.log1.filter.1.AcceptOnMatch=false
log4j.appender.log1.filter=org.apache.log4j.varia.DenyAllFilter
log4j.appender.log2=org.apache.log4j.RollingFileAppender
log4j.appender.log2.Append=true
log4j.appender.log2.File=C:/Oracle/Middleware/user_projects/domains/logs/PM.log
log4j.appender.log2.layout=org.apache.log4j.PatternLayout
log4j.appender.log2.layout.ConversionPattern=%d %-6p [%c] %m%n
log4j.appender.log2.filter.1=org.apache.log4j.varia.StringMatchFilter
log4j.appender.log2.filter.1.StringToMatch=UserMgmt-  
log4j.appender.log2.filter.1.AcceptOnMatch=true

Upvotes: 6

Related Questions