Reputation: 17
My log4j configuration below. I want to write error in a separate file. But if I use the configuration below error info is captured in both main log file as well as error log file. How to prevent error log being written into main log file?
# LOG4J configuration
log4j.rootLogger=DEBUG,Appender1,Appender2
log4j.appender.Appender1=org.apache.log4j.FileAppender
log4j.appender.Appender1.File=/Log/Main.log
log4j.appender.Appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender1.Threshold=info
log4j.appender.Appender1.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n
log4j.appender.Appender2=org.apache.log4j.FileAppender
log4j.appender.Appender2.File=/Log/Error.log
log4j.appender.Appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender2.Threshold=error
log4j.appender.Appender2.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n
Upvotes: 0
Views: 331
Reputation: 2853
You can use the LevelMax
and LevelMin
configuration parameters for that
log4j.appender.Appender1.filter.a=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.Appender1.filter.a.LevelMin=INFO
log4j.appender.Appender1.filter.a.LevelMax=WARN
log4j.appender.Appender2.filter.a=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.Appender2.filter.a.LevelMin=ERROR
log4j.appender.Appender2.filter.a.LevelMax=ERROR
Related: https://stackoverflow.com/a/26768859/3542400
Upvotes: 1