【发布时间】:2012-06-01 17:51:44
【问题描述】:
扩展 logger.warn 方法的功能最简单的方法是什么?
考虑代码:
logger.warn("Invalid value ({}). Defaulting to UNKNOWN.", value);
我还想打印堆栈跟踪 - 或者每次遇到警告时做一些特别的事情。例如:
logger.warn("Invalid value ({}). Defaulting to UNKNOWN.", value);
for (StackTraceElement stackTraceElement:Thread.currentThread().getStackTrace()) {
logger.warn(stackTraceElement.toString());
}
我希望能够将“for 循环”放入记录器方法中。类似的东西。
public void warn (String s, Object o) {
super(s, o);
for (StackTraceElement stackTraceElement:Thread.currentThread().getStackTrace()) {
logger.warn(stackTraceElement.toString());
}
}
有没有一种简单的方法来扩展记录器来做到这一点?
【问题讨论】:
-
您考虑过
logger.warn("...{}", value, new RuntimeException("for log"))变体吗?
标签: log4j overriding extend slf4j