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 
相关推荐
前路不黑暗@34 分钟前
Java项目:Java脚手架项目的公共模块的实现(二)
java·开发语言·spring boot·学习·spring cloud·maven·idea
人道领域35 分钟前
Spring核心注解全解析
java·开发语言·spring boot
金牌归来发现妻女流落街头2 小时前
日志级别是摆设吗?
java·spring boot·日志
MOONICK2 小时前
C#基础入门
java·开发语言
程序员小假2 小时前
我们来说一下虚拟内存的概念、作用及实现原理
java·后端
悠哉清闲3 小时前
Future
java·开发语言·kotlin
徐同保3 小时前
python如何手动抛出异常
java·前端·python
极客先躯4 小时前
高级java每日一道面试题-2025年7月02日-基础篇[LangChain4j]-什么是 AiServices?它是如何简化 LLM 应用开发的?
java·开发语言
摇滚侠4 小时前
JWT 是 token 的一种格式,我的理解对吗?
java·人工智能·intellij-idea·spring ai·springaialibaba
yuuki2332335 小时前
【C++】模拟实现 AVL树
java·c++·算法