Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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
like image 299
harshal Avatar asked Nov 15 '25 19:11

harshal


2 Answers

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
like image 50
harshal Avatar answered Nov 17 '25 16:11

harshal


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

like image 44
Eric Saehrig Avatar answered Nov 17 '25 16:11

Eric Saehrig



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!