alessiop86
alessiop86

Reputation: 1305

Log4j different appenders for different log levels using properties file

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.

Upvotes: 32

Views: 27042

Answers (2)

Haroldo_OK
Haroldo_OK

Reputation: 7230

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

Upvotes: 1

Ian Roberts
Ian Roberts

Reputation: 122364

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

Upvotes: 56

Related Questions