log4j2 中的配置 <Property name="LOG_HOME" value="${spring:logging.home:-/root/app/logs/ntpTime/}"/>
实际情况: spring 还没有启动完成,此时读取不了 yml 中的 logging.home,会生成一个 spring:logging.home 目录. 等到 spring 启动完成后会在配置的 logging.home 下生成文件
疑问: 虽然 Property value 配置了默认路径,但是会生成一个垃圾文件(因为 spring 没有启动完成读取不到配置,只能用默认的),请问这个有没有什么解决办法
1
mouxiaoshi 2022-04-28 16:05:21 +08:00
应该是<springProperty/> 吧
|
2
liangkang1436 2022-04-28 16:26:37 +08:00
试试这个
https://logging.apache.org/log4j/2.x/manual/lookups.html#SpringLookup This Lookup will return null values until Spring Boot initializes application logging. The Spring Boot Lookup requires the log4j-spring-boot jar be included as a dependency. 翻译:Spring Boot 初始化应用日志之后,spring 上下文才会有值,同时,需要依赖 log4j-spring-boot |
3
liangkang1436 2022-04-28 16:27:34 +08:00
如果还不行,你就把 logger 封装成一个 bean 来用,
|
4
BrookO OP @liangkang1436
@mouxiaoshi 感谢提供思路,解决方案在 https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.logging.custom-log-configuration 简单点说就是把 log4j2.xml 改成 log4j2-spring.xml,具体原因未知 |