在 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/