fengjiachun/Jupiter

jupiter 内置的日志框架打印的日志来源行数错误

Zhanghailin1995 opened this issue · 3 comments

Describe the bug

我借鉴了Jupiter的内置日志框架InternalLogger,但是在使用的过程中发现打印的代码行数不准确,都指向了确定的几个数字,我在查看后发现全部指向的是Slf4JLogger类中的代码行数。我看到日志框架fork自netty,于是查看了最新的netty的内置日志框架,netty中使用了一个LocationAwareSlf4JLogger替代了Slf4JLogger

// package-private for testing.
static InternalLogger wrapLogger(Logger logger) {
return logger instanceof LocationAwareLogger ?
new LocationAwareSlf4JLogger((LocationAwareLogger) logger) : new Slf4JLogger(logger);
}
替换后可以正确显示日志行数。Jupiter默认的logback.xml中日志配置是不打印行数的,所以这个bug可能不容易发现。

@Zhanghailin1995 感谢,可以提一个 pr 吗?