Let's start with the root logger in a Log4j.properties file:
log4j.rootLogger=INFO,stdout
This root logger is configured to have a logging level INFO with an appender named stdout. Now we want to turn debug on in our own package but keep the rest at the INFO level. So we add this to our Log4j.properties file:
log4j.category.com.mypackage.name=DEBUG
log4j.rootLogger=INFO,stdout
Everything looks good. But then we want to pipe our debug log to a different appender so we change the configuration to:
log4j.category.com.mypackage.name=DEBUG, myappender
log4j.rootLogger=INFO,stdout
When we start our app, we suddently notice that our debug logs still show up in stdout in addition to myappender! This is caused by appender additivity. To turn it off, change the additivity flag to false:
log4j.category.com.mypackage.name=DEBUG, myappender
log4j.additivity.com.mypackage.name=false
log4j.rootLogger=INFO,stdout
No comments:
Post a Comment