gpt4 book ai didi

spring-boot - logback spring 根据 spring 配置文件关闭控制台日志记录

转载 作者:行者123 更新时间:2023-12-04 12:41:51 57 4
gpt4 key购买 nike

这是我的示例 logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_FILE" value="some file path here"/>
<property name="LOG_FILE_MAX_SIZE" value="50MB" />
<property name="LOG_FILE_MAX_HISTORY" value="30" />
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />

<springProfile name="!test &amp; !prod">
<logger name="com.myapp" level="DEBUG" />
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</springProfile>

<springProfile name="test">
<logger name="com.myapp" level="DEBUG" />
<root level="WARN">
<appender-ref ref="FILE" />
</root>
</springProfile>

<springProfile name="prod">
<logger name="com.myapp" level="INFO" />
<root level="WARN">
<appender-ref ref="FILE"/>
</root>
</springProfile>

我的意图是仅将内容记录到 FILE 以进行测试和生产配置文件,但是对于任何其他配置文件(即本地主机),我希望我的日志仅在控制台中获取。

使用上述设置,如果我使用 localhost 配置文件启动我的 Spring Boot 应用程序(版本 2.1.1.RELEASE),它只会按预期登录到 CONSOLE,但是如果我使用 test 或 prod 配置文件,它会将 CONSOLE 中的内容都记录为以及文件。

您在 logback xml 中看到任何问题吗?

最佳答案

据我所知,Spring 不允许在配置文件选择中使用逻辑表达式。只能说!test但不是这样的组合。因此,在您的情况下,如果测试未处于事件状态或产品未处于事件状态,则条件将触发,这意味着测试处于事件状态或产品处于事件状态。

您可以做的是枚举您实际想要登录到控制台的其他配置文件。例如localhost .

关于spring-boot - logback spring 根据 spring 配置文件关闭控制台日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54563882/

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