gpt4 book ai didi

Spring Profiles,不同的 Log4j2 配置

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

在我的 application.yml 我得到:

logging: 
config: classpath:log4j2.debug.yml

还有其他一些在不同的配置文件中。当我启动应用程序时,我得到以下信息:
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

如果我只是将 log4j2.xml 放在配置文件旁边,它就可以工作。所以我认为这是我错过依赖的地方,或者用 log4j2 是不可能的?

引用: Boot Logging Level说应该可以像我一样尝试?

最佳答案

在我这边,我使用的是属性文件而不是 yaml 文件。我想要两个日志文件:一个将所有内容记录到控制台,另一个记录在一个文件中。所以我做了两个log4j2配置文件:log4j2-dev.xml和log4j2-file.xml。

我使用了两个 Spring 配置文件:默认的一个和一个名为“dev”的配置文件。为了切换 log4j2 配置文件,我创建了一个文件 application.properties,其中包含:

spring.profiles.active=
logging.config=classpath:log4j2-file.xml

我还有另一个属性文件 application-dev.properties,它会在 Spring 检测到“dev”配置文件时自动激活。它包含了:
logging.config=classpath:log4j2-dev.xml

当我想使用 log4j2-dev.xml 配置时,我只需在 application.properties 中添加“dev”作为“spring.profiles.active=”的值。

您可以在此页面查看周飞宇的回答。他提出了一个使用 Yaml 配置文件的解决方案: How to define log4j2 path by application.properties?

当然,您可以随时删除 application.properties 的属性 logging.config 并在 log4j2.xml 中重命名 log4j2-file.xml。它将默认由 Log4j2 加载,无需由 Spring 配置文件触发

关于Spring Profiles,不同的 Log4j2 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35559824/

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