如何在 spring-boot 的记录器名称中不缩写源类名称?

问题描述 投票:0回答:1

当我运行 spring-boot 应用程序时,它显示以下日志:

2014-03-05 10:57:51.702 INFO 45469 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean :映射过滤器:“hiddenHttpMethodFilter”到:[/*]

记录器名称缩写如下:

org.springframework.boot.context.embedded.FilterRegistrationBean

如何显示它的完整源类名称?

log4j spring-boot
1个回答
4
投票

默认情况下,Spring boot 使用 Logback 日志记录。您可以通过将 logback.xml 文件放入类路径中来更改配置。他们有一个默认的 base.xml ,它定义了整体配置并包含他们的 defaults.xml 文件。由于定义日志模式的位置,您将需要创建一个文件,其中复制了一些内部项目。这是我创建的 logback.xml 的示例:

<configuration>
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
    <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
    <property name="CONSOLE_LOG_PATTERN" value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%C){cyan} %clr(:){faint} %m%n%wex"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />
    <include resource="org/springframework/boot/logging/logback/file-appender.xml" />
    <root level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>
    <logger name="org.springframework.web" level="DEBUG"/>
</configuration>

这是使用此配置的日志消息的示例:

2015-06-17 09:02:06.511  INFO 18816 --- [           main] org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)

如果需要,您可以进一步调整图案。请参阅 本页 和 PatternLayout 部分,了解可能包含的项目。

您还可以根据其日志记录文档使用其他日志记录实现,然后根据需要进行配置。

更新:从 Spring Boot 版本 1.3.0 开始(截至本次编辑尚未发布),您可以使用logging.pattern.console和logging.pattern.file属性来设置默认Logback配置的模式。请参阅其文档中的示例属性文件here。注意:此链接可能会更改,因为它指向构建快照文档。

© www.soinside.com 2019 - 2024. All rights reserved.