项目场景:
springboot 3.2.2
JDK21
问题一
描述
SizeAndTimeBasedFNATP is deprecated. Use SizeAndTimeBasedRollingPolicy instead
原因分析:
SizeAndTimeBasedFNATP 被弃用了
解决方案:
日志xml文件
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 文件路径 -->
<fileNamePattern>
${LOG_PATH}/%d{yyyy-MM-dd}/AppLog.%i.log
</fileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP" >
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
改成
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 文件路径 -->
<fileNamePattern>
${LOG_PATH}/%d{yyyy-MM-dd}/AppLog.%i.log
</fileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<maxFileSize>20MB</maxFileSize>
</rollingPolicy>
问题二
描述
Cannot enhance @Configuration bean definition 'xxxRegistryPostProcessor' since its singleton instance has been created too early. The typical cause is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as 'static' and/or marking the containing configuration class as 'proxyBeanMethods=false'.
原因分析:
参照:https://blog.csdn.net/u013202238/article/details/90315764
解决方案:
XXXRegistryPostProcessor 类上的注解 @Configuration 改成 @Component
问题三
描述
NacosLogging | Load Logback Configuration of Nacos fail, message: org/slf4j/impl/StaticLoggerBinder
原因分析:
版本不兼容,使用nacos-client 2.0.3会出现这个问题
解决方案:
将nacos-client直接升级到2.3.2
<!--nacos作为配置中心 ↓ -->
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2023.0.1.0</version>
</dependency>
<!--nacos作为配置中心 ↑ -->