如何在spriing-boot的loggger名称中不缩写源类名?

时间:2015-06-17 08:51:53

标签: log4j spring-boot

当我运行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

如何显示完整的源类名?

谢谢!

1 个答案:

答案 0 :(得分:2)

默认情况下,Spring引导使用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)

如果需要,您可以进一步调整模式。有关可能包含的项目,请参阅this page和PatternLayout部分。

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

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