【发布时间】:2018-09-17 00:53:27
【问题描述】:
我在 Spring Boot 应用程序中为 LogBack 定义了一对自定义记录器。这个想法是将所有日志记录发送到一个文件,而不是 Spring Boot 默认提供的标准控制台输出。我看到的是日志记录到自定义文件和控制台,我找不到任何发生这种情况的原因。对两个自定义附加程序的所有日志记录都处于 DEBUG 和/或 TRACE 级别。我设置了 logging.level.root=INFO,认为这会阻止此日志显示,但这并没有帮助。
我确实配置了用于应用程序的标准 Spring Boot 日志记录。所以 logging.path 和 logging.file 都设置好了。
任何帮助表示赞赏。
这是我的自定义 logback-spring.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<!--
LogBack configuration used by all services to create separate files for TRACE and SOAP logs.
-->
<configuration>
<!-- Include the basic Spring-Boot logback configuration. -->
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<!-- An appender and logger for TRACE logging of method calls -->
<appender name="TraceLoggingAppender" class="ch.qos.logback.core.FileAppender">
<file>${LOG_PATH}/logs/trace.log</file>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<logger name="TraceLogging" additivity="false" level="trace">
<appender-ref ref="TraceLoggingAppender"/>
</logger>
<!-- An appender and logger for SOAP envelope logging -->
<appender name="SoapLoggingAppender" class="ch.qos.logback.core.FileAppender">
<file>${LOG_PATH}/logs/soap.log</file>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<logger name="SoapLogging" additivity="false" level="debug">
<appender-ref ref="SoapLoggingAppender"/>
</logger>
</configuration>
还有一个用法示例:
private static final Log LOG = LogFactory.getLog("SoapLogging");
...
LOG.debug(soapMessage);
【问题讨论】:
标签: spring-boot logback fileappender