解决rocketmq

网友投稿 272 2022-12-31

解决rocketmq

rocketmq-client日志保存路径

由于使用rocketmq-client会生成一个rocketmq_client.log日志文件,一般默认存于系统盘内,且持续增长速度较快,为便于清理且避免影响操作系统资源使用,建议手动设置其日志存储路径为当前程序运行目录下的logs文件夹。

参考操作方式:

系统启动时代码显式设置全局变量“rocketmq.client.logRoot”,

示例:

System.setProperty("rocketmq.client.logRoot","logs/");

Springboot项目可在启动类的main方法中设置,已验证有效。

参考示例:

public static void main(String[] args) throws Throwable {

System.setProperty("rocketmq.client.logRoot","logs/");

SpringApplication.run(Application.class, args)http://;

}

关于rocketmq-client日志路径及其他配置详情,可见源码com.alibaba.rocketmq.client.log.ClientLogger中相关代码及其日志配置文件log4j_rocketmq_client.xml或logback_rocketmq_client.xml,

见下图:

rocketmq-client 日志问题处理

使用rocketmq后,默认会在{user.home}\logs\rocketmqlogs 目录下生成大量的mq跟踪日志,可以通过以下方式禁用或改变存储目录

方式一: rocketmq启用slf4j【推荐】

#设置系统属性

rocketmq.client.logUseSlf4j=true

启动参数 添加:

-Drocketmq.client.logUseSlf4j=true 【推荐】

或者启动类添加:

System.setProperty("rocketmq.client.logUseSlf4j","true")

#logback日志配置

#Rocketmq apppender配置

class="ch.qos.logback.core.rolling.RollingFileAppender">

${log.base}/rocketmq.log

${log.base}/%d{yyyy-MM-dd}/rocketmq-%i.%d{yyyy-MM-dd}.log.gz

class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

30MB

${pattern}

class="ch.qos.logback.core.rolling.RollingFileAppender">

${log.base}/rocketmq.log

${log.base}/%d{yyyy-MM-dd}/rocketmq-%i.%d{yyyy-MM-dd}.log.gz

class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

30MB

class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

30MB

${pattern}

#Rocketmq logger配置

方式二: 更改默认rocketmq路劲和级别

#设置系统属性

rocketmq.client.logRoot={日终路径}

rocketmq.client.logLevel={日志等级}

建议启动参数添加:

-Drocketmq.client.logRoot=/opt/appl/tomcat/loghttp://s/{应用名} -Drocketmq.client.logLevel=warn

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:网站API接口需要icp(网页api接口)
下一篇:redis redisson 限流器的实例(RRateLimiter)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~