问题描述
springboot配置rocketmq后,会写入日志到rocketmqlogs目录下的rocketmq_client.log文件中,且日志过于庞大。
解决
1. 启动类增加代码
System.setProperty(ClientLogger.CLIENT_LOG_USESLF4J,"true");
2. LogBack.xml中增加配置
<!-- ROCKETMQ START -->
<appender name="RocketmqClientAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${app.log.dir}/rocketmq_client.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<FileNamePattern>${app.log.dir}/%d{yyyyMMdd}/rocketMQclient.log.%d{yyyyMMdd}_%i</FileNamePattern>
<!-- 日志文件最大尺寸 -->
<maxFileSize>200MB</maxFileSize>
<!--日志文件保留天数-->
<MaxHistory>180</MaxHistory>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>100MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%level %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%logger{0}] [%X{traceId}] [%msg]%n</pattern>
<charset class="java.nio.charset.Charset">UTF-8</charset>
</encoder>
</appender>
<logger name="RocketmqClient" additivity="false">
<!-- 这里可以按需配置日志级别 -->
<level value="WARN" />
<appender-ref ref="RocketmqClientAppender"/>
</logger>
<!-- ROCKETMQ END -->