Log4j different appenders for different log levels using properties file

24,722

Solution 1

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

Solution 2

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

Share:
24,722
alessiop86
Author by

alessiop86

Padawan

Updated on February 06, 2020

Comments

  • alessiop86
    alessiop86 over 4 years

    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.