【问题标题】:logback line number is not showing up in logslogback 行号未显示在日志中
【发布时间】:2018-01-12 07:08:52
【问题描述】:

我正在使用 logback 1.2.3 。我的配置如下所示

<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <Target>System.out</Target>
        <encoder>
            <pattern>%p [%d{yyyy-MM-dd HH:mm:ss,SSS}] %c{3}:[%C{1}:%M:%L] - [%t] - %m%n</pattern>
        </encoder>
    </appender>
    <root level="INFO">
       <appender-ref ref="CONSOLE"/>
    </root>
</configuration>

但我没有在日志中看到行号

INFO [2018-01-12 07:06:54] c.v.s.f.FlowStoreWarmer:[?:?:?] - [FlowStoreWarmer_flow_cache_warmup_thread] - no work to do for cid 19099

谁能告诉我出了什么问题?

【问题讨论】:

  • 仅供参考:要知道让日志中的行占用资源,从而影响应用程序的性能

标签: java logback


【解决方案1】:

如下更改您的编码器:

    <encoder>
        <pattern>%p [%d{yyyy-MM-dd HH:mm:ss,SSS}] %c{3}:[%C{1}:%M:%L] - [%t][%file:%line] - %m%n</pattern>
    </encoder>

[%file:%line] 表示显示源文件名和行号。

【讨论】:

  • 我想替换日志中的某些字符串,所以使用了%p [%d{yyyy-MM-dd HH:mm:ss,SSS}] %c{3}:[%C{1}:%M:%L] - [%t][%file:%line] - %replace(%.-20480m){'[^A-Za-z0-9=&lt;&gt;:@\\-\\[\\]\n\\s!]','_'}%n 模式。更换工作正常。但是没有显示行号。有什么想法吗?
  • 我试过了。行号工作正常。但是您的代码有几个错误。您的 replce 语法错误。它不应包含“”。并且在最后一个字母'n'之前,还有一些零宽字符。删除标签,手动输入即可。
  • 它正在工作。零宽度字符导致了主要问题。我用 &amp;lt; & &amp;gt; 替换了 '' 。您可以将此作为stackoverflow.com/questions/48380436/… 的答案发布,以便我接受答案吗?
  • 哈哈~很高兴你成功了。无需为声誉发帖。您可以在那里发布您的解决方案。
  • 好的。我会发布它。再次感谢。
猜你喜欢
  • 2014-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-14
  • 2019-09-01
  • 2021-05-25
  • 1970-01-01
  • 2022-06-10
相关资源
最近更新 更多