Since the official documentation for log4j is a broken link, and the getting started guide isn't helping me, I would like to know how to use two appenders with different log levels for the same logger, using a .properties
file instead of an .xml
one.
For example, like this:
log4j.rootLogger=debug, APPENDER_FILE, APPENDER_STDOUT
I'm logging with two different appenders, but on the same log level (DEBUG
). I would like to use an INFO
log level for APPENDER_STDOUT
, and aDEBUG
log level for APPENDER_FILE
.
My question is similar to this, but unlike that question, I'm using the log4j.properties
file, not the xml file.
Setting Levels using Configuration File log4j provides you configuration file based level setting which sets you free from changing the source code when you want to change the debugging level. Following is an example configuration file which would perform the same task as we did using the log. setLevel(Level.
You need to set the logger to the more detailed of the two levels (DEBUG) but then set a threshold on the appender to tell it to only show messages at INFO and above
log4j.appender.APPENDER_STDOUT.Threshold=INFO
Also, if you want to specify the appender at the package level, you can use:
log4j.logger.[package]=[Level], [Appender]
Example:
log4j.logger.org.apache.cxf=INFO, MyAppender
For more details, please, take a look at: https://stackoverflow.com/a/19795886/679240
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With