美文网首页
Logback日志输出问号的问题解决方案

Logback日志输出问号的问题解决方案

作者: 宋雾代 | 来源:发表于2019-02-16 08:56 被阅读0次

这几天发现对接到splunk的Logback日志class字段输出的有一定概率会出现问号。
配置如下:

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>LOCAL_SYSTEM_TIME=[%d{yyyy-MM-dd HH:mm:ss.SSS}],THREAD=[%thread],LOG_LEVEL=[%-5level],CLASS=[%class{35}.%M:%L],%m%n</pattern>
    </encoder>
</appender>

原因分析

输出文件以及行号信息需要 stacktrace 获取 callerdata,因为性能原因 logback 的 AsyncAppender 默认是不记录该信息。

解决方法

增加如下配置在appender中

<includeCallerData>true</includeCallerData>

修改后如下:

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>LOCAL_SYSTEM_TIME=[%d{yyyy-MM-dd HH:mm:ss.SSS}],THREAD=[%thread],LOG_LEVEL=[%-5level],CLASS=[%class{35}.%M:%L],%m%n</pattern>
    </encoder>
    <includeCallerData>true</includeCallerData>
</appender>

官方文档 https://logback.qos.ch/manual/appenders.html#AsyncAppender:

相关文章

网友评论

      本文标题:Logback日志输出问号的问题解决方案

      本文链接:https://www.haomeiwen.com/subject/axckeqtx.html