fengjiachun / Jupiter

Jupiter是一款性能非常不错的, 轻量级的分布式服务框架
Apache License 2.0
1.51k stars 562 forks source link

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

Closed Zhanghailin1995 closed 5 years ago

Zhanghailin1995 commented 5 years ago

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可能不容易发现。

fengjiachun commented 5 years ago

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

fengjiachun commented 5 years ago

95

fengjiachun commented 5 years ago

@Zhanghailin1995 非常感谢