在我的团队中,我们有一个日志记录标准,而且大多数情况下都是
Logger.log(Level, String, [Throwable])
方法工作正常(它为我们提供了日志中的自动时间戳,类名,方法名,消息和可抛出信息)。但是,我们记录了一个额外的标识符,它是我们标准的一部分(我们用它来帮助监控日志)。
我的问题是我希望能够以相当轻松的方式轻松地执行此标准。起初我们创建了一个包装记录器类,但问题是你失去了Logger知道你所处的方法的好处。
void myLoggerMethod(Level level, String msg, String identifier) {
logger.log(level, identifier + " " + msg);
}
将记录大部分正确的内容,但它会记录错误的方法名称。您可以使用logp解决此问题,但是您必须将方法名称作为字符串发送,并且它变得相当粗糙。
有没有一种方法可以让人们输入额外的数据来记录?是否有任何扩展机制允许这个,或者我错过的API中的某些东西?