Closed Zhanghailin1995 closed 5 years ago
我借鉴了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 吗?
@Zhanghailin1995 非常感谢
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可能不容易发现。