java - logback不打印方法名称

标签 java logging logback slf4j

在 Java 应用程序中使用 logback classic,但 %M 或 %method 打印“?”而不是方法名称。有人有主意吗?这是模式

%d{yyyy-MM-dd HH:mm:ss.SSS} %level %thread %mdc{X-CorrelationId} %logger %method - %msg%n

最佳答案

如果您使用SMTP附加程序ASYNC附加程序,那么您应该了解“includeCallerData”属性。该属性设置为 false,因为检索调用者数据的成本非常高。因此,默认情况下不会检索行号或方法名称等内容。
在您的情况下,方法名称被替换为 CallerData.NA ,基本上是 ?

因此,将此行添加到您的 logback.xml

<includeCallerData>true</includeCallerData>

关于java - logback不打印方法名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38092637/

相关文章:

java - 如何在安卓中使用 KSoap 2

java - 尝试使用 logback 和 spring boot 通过 gmail 发送邮件时出错

java - Spring Boot/Gradle/Logback : bootRun fails with "Failed to instantiate [ch.qos.logback.classic.LoggerContext]": java. lang.AbstractMethodError:

java - 存储和检索系统、ip 和用户名的列表

用于替换除下划线以外的所有特殊字符的 Java 正则表达式

c++ - 如何将 Windows 事件日志刷新到磁盘?

java - Log4j、commons-logging、JDK-Logging 和 SLF4J 如何相互关联?

logging - 如何在谷歌云的 Stackdriver 中获取 kubernetes 容器日志文件的内容?

spring-boot 从 1.3.2 升级到 1.3.3 : logback issue

java - Java 游戏达到分数后添加新生命