java - logback如何只记录类名而不记录包路径?

标签 java logback

我的 logback xml 配置中有一个附加程序:

    <encoder>
        <pattern>%d{"yyyy-MM-dd HH:mm:ss"} [%thread] %-5level %logger{5} - %msg %n</pattern>
    </encoder>

但它会打印出缩写的包以及类,即使我将其设置为 %logger{1} 如下:

2019-12-19 10:26:16 [main] INFO o.f.d.d.u.Myclass - my message

我希望它像 log4j 一样只记录类 MyClass 。怎么办?

最佳答案

看起来您为 %logger 指定的数字是某种特殊情况,并不完全决定大小。但它确实规定了大小,但永远不会小于最小大小,即具有完整类名的整个包路径。除非您将其设置为“0”,这是一种特殊情况,表示“不包含该包”。

因此,如果我将其设置为 %logger{0},那么我只得到类名称,请参阅 http://logback.qos.ch/manual/layouts.html#conversionWord

2019-12-19 10:28:45 [main] INFO MyClass - my message

在 log4j 中,等效项是 %c{1}%logger{1},所以我猜它是不同的。

关于java - logback如何只记录类名而不记录包路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59414391/

相关文章:

java - 在 groovy 中使用 Logback 和 RollingFilePolicy

java - 在文件大小和时间上滚动 logback 日志

java - JBoss EAP : reload logback config without restarting the server?

JavaFX 8 默认消息图标

java - 解析带有数组值的 JSON

spring-boot - 如何在 Grails 4 中设置日志级别

slf4j - java.lang.NoSuchMethodError : ch. qos.logback.classic.LoggerContext.getBithTime()

java - 边框影响组件位置java

java - 不使用 XML 的 ref 标签引用另一个 bean

java - 如何修复Java中的 "Index 5 out of bounds for length 5"错误