gpt4 book ai didi

logback - 如何在 Spring Boot 中禁用 logback ConsoleAppender

转载 作者:行者123 更新时间:2023-12-04 02:45:35 25 4
gpt4 key购买 nike

我正在使用 Spring Boot 构建命令行应用程序。在这样的应用程序中,logback 控制台日志记录是不合适的。如何完全禁用控制台附加程序,但仍然让文件附加程序与 default Spring Boot support 一起使用?

更新

我在此处创建了一个功能请求,以便更简单地支持此功能:

https://github.com/spring-projects/spring-boot/issues/1612

最佳答案

只需添加一个名为 logback.xml 的文件在 src/main/resources内容如下(逐字复制,除了来自 Spring Boot 源的控制台部分):

<?xml version="1.0" encoding="UTF-8"?>
<configuration>


<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
<property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:- } [%t] --- %-40.40logger{39} : %m%n%wex"/>

<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<file>${LOG_FILE}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${LOG_FILE}.%i</fileNamePattern>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>

<root level="INFO">
<appender-ref ref="FILE" />
</root>

</configuration>

注意
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>

需要以支持从 Spring Boot 的 logging.file 设置日志文件和 logging.path .

如果您只想设置一些标准日志文件,您可以在上面的属性中设置它的路径。

更新 (02-04-2015)

在较新版本的 Spring Boot 中,您可以轻松地包含 base.xml从 Spring Boot 并创建以下 logback.xml .
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />

<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>

更新 (15-09-2017)

为了让它在 Spring Boot 1.5.x 和 2.0.0.M4 上工作,我添加了一个名为 logback-spring.xml 的文件并将其添加到 resources目录。
该文件可能如下所示
<?xml version="1.0" encoding="UTF-8"?>
<configuration>


<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
<property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:- } [%t] --- %-40.40logger{39} : %m%n"/>

<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<file>${LOG_FILE}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${LOG_FILE}.%i</fileNamePattern>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>

<root level="INFO">
<appender-ref ref="FILE" />
</root>

</configuration>

关于logback - 如何在 Spring Boot 中禁用 logback ConsoleAppender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26019350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com