Reputation: 588
I need to log some audit logs to a separate file than standard console logs. I tried to create custom logger with the properties added to custom extension
log4j.appender.auditLog=org.apache.log4j.FileAppender
log4j.appender.auditLog.File=/somelogsfile.log
log4j.appender.auditLog.layout=org.apache.log4j.PatternLayout
log4j.appender.auditLog.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n
log4j.category.auditLogger=INFO, auditLog
log4j.additivity.auditLogger=false
Then i have initialised logger as:
Logger LOG2= Logger.getLogger("auditLogger");
LOG2.info("Test");
The logs are output to standard console logs but not to the specified File. What am I missing?
Upvotes: 1
Views: 783
Reputation: 1430
Based on the updated question, I did some extra investigation and tested it out on my own system.
Most likely, your hybris version is making use of log4j2
this means that the config should be like this:
log4j2.appender.auditLog.type=File
log4j2.appender.auditLog.name=auditLog
log4j2.appender.auditLog.fileName=${HYBRIS_LOG_DIR}/audit.log
log4j2.appender.auditLog.layout.type=PatternLayout
log4j2.appender.auditLog.layout.pattern=%d [%24F:%t:%L] - %m%n
log4j2.logger.auditLogger.name=auditLogger
log4j2.logger.auditLogger.level=info
log4j2.logger.auditLogger.appenderRefs=auditLogger
log4j2.logger.auditLogger.appenderRef.auditLogger.ref=auditLog
log4j2.logger.auditLogger.additivity=false
I've tested this out on my local system, and using Logger LOG= Logger.getLogger("auditLogger")
prints the log statements to the new file
Upvotes: 1