标题
springboot 集成 Rocketmq-client 后 修改Rocketmq-client 日志管理为 logback。
项目启动时会在 ${user.home}/logs目录下创建一个rocketmq_client.log日志文件,文件全路径是:${user.home}/logs/rocketmqlogs/rocketmq_client.log。并且这个日志文件并不自动清理。将其日志切换为项目中管理:
1.在application.java中添加
public static void main(String[] args) {
System.setProperty(ClientLogger.CLIENT_LOG_USESLF4J,"true");
SpringApplication.run(XxlJobSpiderWebApplication.class, args);
}
2.修改日志文件logback-spring.xml
<!-- rocketmq日志 -->
<appender name="RocketmqClientAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/rocketmq_client.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${log.path}/history/rocketmq_client.%d{yyyyMMdd}.%i.log</fileNamePattern>
<maxFileSize>512MB</maxFileSize>
<!--保留时间,单位:天-->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder charset="UTF-8">
<pattern>%d{yy-MM-dd.HH:mm:ss.SSS} [%-16t] %-5p %-22c{0} %X{ServiceId} - %m%n</pattern>
</encoder>
</appender>
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
</pattern>
</encoder>
</appender>
<logger name="RocketmqClient" additivity="false">
<level value="warn" />
<appender-ref ref="RocketmqClientAppender"/>
</logger>
至此OK。