我有一个应用程序需要将“应用程序日志消息”记录到附加程序并将“安全日志消息”记录到另一个附加程序(安全日志消息不能出现在应用程序日志中)。我正在考虑像这样设置我的记录器:
Logger appLogger = Logger.getLogger("app." + myClassName);
Logger securityLogger = Logger.getLogger("security." + myClassName);
并像这样设置我的 log4j 配置:
log4j.logger.app = DEBUG, applicationLogAppender
log4j.additivity.app = false
log4j.logger.security = DEBUG, securityLogAppender
log4j.additivity.security = false
配置 log4j 的最佳方法是什么?我相信我的解决方案会起作用,并且只要开发人员记得在包/类名称前加上“app”前缀,他们仍然能够启用和禁用特定包/类的日志记录。或“安全。”,但我想知道是否有更好的方法来做到这一点。
注意:该解决方案需要适用于 log4j 和 log4cxx。