如何在调试模式下配置log4j.properties文件?

时间:2013-09-17 09:29:50

标签: java jsp servlets logging log4j

Logger alog = Logger.getLogger("auditLogger");


alog.debug("to test audit logger in main screen");

显示错误消息,如

log4j:ERROR Could not find value for key log4j.appender.debug

SEVERE:   log4j:ERROR Could not instantiate appender named "debug".

SEVERE:   log4j:ERROR Could not find value for key log4j.appender.debug

SEVERE:   log4j:ERROR Could not instantiate appender named "debug".

log4j.properties

log4j.appender.Customer1audit=org.apache.log4j.RollingFileAppender
log4j.appender.Customer1audit.File=C:\\OpsConsole\\21-05-2013\\IOpsConsole\\logs\\Cus‌​tomer1audit.log
log4j.appender.Customer1audit.MaxFileSize=100KB
log4j.appender.Customer1audit.MaxBackupIndex=1
log4j.appender.Customer1audit.layout=org.apache.log4j.PatternLayout
log4j.logger.‌​customer1auditLogger=info,debug,Customer1audit

1 个答案:

答案 0 :(得分:0)

log4j.properties记录器行的格式为

log4j.logger.loggername=LEVEL,appender1,appender2,...

一个级别,后跟零个或多个appender名称)所以这一行

log4j.logger.‌​customer1auditLogger=info,debug,Customer1audit

正在配置名为“customer1auditLogger”的记录器以记录级别“info”并将其消息发送到名为“debug”和“Customer1audit”的appender。错误消息告诉您尚未定义名为“debug”的appender。

您需要了解的是,您为记录器指定的日志级别是最小值 - 它将记录此指定级别或任何更高级别的所有消息。因此,您只需将级别设置为调试,您将自动获取信息(以及警告,错误和致命)消息。

log4j.logger.‌​customer1auditLogger=DEBUG,Customer1audit

如果您还有其他appender附加到根记录器,那么您可能还想设置

log4j.additivity.customer1auditLogger=false

阻止customer1auditLogger消息转到继承的appender以及特定的Customer1audit appender。

您还需要确保登录到正确的记录器。您的示例属性文件配置了一个名为“customer1auditLogger”的记录器,但您的Java代码确实Logger.getLogger("auditLogger") - 您需要更改其中一个或另一个,以便它们都匹配。