alicjasalamon
alicjasalamon

Reputation: 4261

LOG4J: One appender for one logger

Is it possible to set appender for one logger? I've found line in example log4j.properties file:

log4j.logger.org.apache.activemq=INFO, stdout

but I am curious if it can be done for logger defined by me. How to do this?

Upvotes: 1

Views: 475

Answers (1)

Peter Lawrey
Peter Lawrey

Reputation: 533442

Create a new appender which is only used from your package.

log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.logger.mycom.mypackage=INFO, A1

or

log4j.logger.mycom.mypackage.MyClass=INFO, A1

or even one logger in a class.

log4j.logger.mycom.mypackage.MyClass.LOG1=INFO, A1

Log LOG = LogFactory.getLog(getClass().getName()); // doesn't go to A1
Log LOG1 = LogFactory.getLog(getClass().getName()+".LOG1"); // goes to A1

Upvotes: 3

Related Questions