rocketmq日志rocketmq_client.log太大问题

1、在springboot启动类添加

复制代码
System.setProperty(ClientLogger.CLIENT_LOG_USESLF4J,"true");

2、找到项目中的logback-spring.xml文件,可以ctrl+n搜索文件查找文件。,然后追加以下配置。这里需要注意,日志等级需要配置,不然容器那边没法正常打印日志。

复制代码
<appender name="RocketmqClientAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
				<!-- 日志文件保存路径 -->
              <file>/root/logs/rocketmqlogs/rocketmq_client.log</file>
              <append>true</append>
              <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                     <FileNamePattern>/root/logs/mq/rocketMQclient-%d{yyyy-MM-dd}.%i.log</FileNamePattern>
                     <!-- 日志文件最大尺寸 -->
                     <maxFileSize>300MB</maxFileSize>
                     <!--日志文件保留天数-->
                     <MaxHistory>10</MaxHistory>
                     <totalSizeCap>1GB</totalSizeCap> <!-- 日志总量大小,超过该值旧的日志文件将被清理-->
              </rollingPolicy>
              <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="INFO" />
              <appender-ref ref="RocketmqClientAppender"/>
       </logger>

3、重新部署应用,验证日志,我应用是k8s部署的,所以找到应用所在的节点,进去应用所在节点服务器,执行

复制代码
#order为应用包含的名字
docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep order

4、然后根据命令查找到的docker文件路径进行查看文件是否正常,我配置的路径是/root/logs/rocketmqlogs/rocketmq_client.log

复制代码
#diff为项目自己应用自带的路径,如果找不到路径,可以直接进到容器里查找ketmqlogs/rocketmq_client.log 进去查找认证
tail -n 200 /var/lib/docker/overlay2/ffbe1261bae9f62b00d65a61ea54cdeb1cc693d5633ea244ccec8d205745e853/diff/root/logs/rocketmqlogs/rocketmq_client.log 
相关推荐
间彧7 小时前
SimpleDateFormat既然不推荐使用,为什么java 8+中不删除此类
java
间彧7 小时前
DateTimeFormatter相比SimpleDateFormat在性能上有何差异?
java
间彧7 小时前
为什么说SimpleDateFormat是经典的线程不安全类
java
MacroZheng7 小时前
横空出世!MyBatis-Plus 同款 ES ORM 框架,用起来够优雅!
java·后端·elasticsearch
用户0332126663678 小时前
Java 查找并替换 Excel 中的数据:详细教程
java
间彧8 小时前
ThreadLocal实现原理与应用实践
java
若水不如远方8 小时前
Netty的四种零拷贝机制:深入原理与实战指南
java·netty
用户7493636848438 小时前
【开箱即用】一分钟使用java对接海外大模型gpt等对话模型,实现打字机效果
java
SimonKing8 小时前
一键开启!Spring Boot 的这些「魔法开关」@Enable*,你用对了吗?
java·后端·程序员