Groovy で Logback/Slf4j が誤ったファイル番号と行番号を記録する場合があることに気付きました。
Grails アプリケーションに不適切なファイル/行番号のログが多数あります (全ログの 50% 以上)。
回避策はありますか?
最も簡単な例:
logback.groovy
appender("STDOUT", ConsoleAppender) {
encoder(PatternLayoutEncoder) {
pattern = '%d{HH:mm:ss.SSS} [%-5level] %msg \\(%file:%line\\)%n'
}
}
root(DEBUG, ["STDOUT"])
Test.groovy
@Slf4j
class Test {
static void main(String[] args) {
log.info("${'Wrong file and line number!'}")
}
}
出力
23:24:23.894 [INFO ] 0 Wrong file and line number! (NativeMethodAccessorImpl.java:-2)
問題のある私のgrailsログ出力の例
10:16:44.881 [DEBUG] [org.grails.plugin.resource.ResourceProcessor] -------------------------------------------------- (null:-1)