关于rocketmq 中日志文件路径的配置

阅读: 评论:0

关于rocketmq 中日志文件路径的配置

关于rocketmq 中日志文件路径的配置

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

rocketmq 中的数据和日志文件默认都是存储在user.home路径下面的,往往我们都需要修改这些路径到指定文件夹以便管理。

服务端日志

网上搜索rocketmq日志存储路径的修改,一堆都是写着要把源码拉下来,用rocketmq_home全局替换user.home,然后再配置rocketmq_home变量。既然都是变量的替换,指定user.home的位置不就行了吗?

rocketmq是java编写的,也就是可以指定启动参数,按照上面那个思路我们只要在rocketmq启动的时候指定启动参数就行了。
在conf文件夹下,可以看到有3个logback日志配置文件,这三个配置文件对应的也是runbrokernamesrvtools3个脚本。修的对应脚本的启动参数即可。

由于namesrv不需要启动参数,所以我们只要指定另外两个加如下启动参数即可

set "JAVA_OPT=%JAVA_OPT% -Duser.home=D:Softrocketmq"

修改完后重启rocketmq就能看到指定路径下有两个文件夹,store文件夹是存储数据的,logs文件夹是存储日志的。

这样服务端的日志和数据的配置就完成了。

客户端配置

客户端连接rocketmq会在用户目录产生一个rocketmq_client.log日志,如果需要是可以修改的,这里就拿rocketmq-dashboard项目举例。

客户端日志配置有两种方式:

logUseSlf4j

如果项目中日志框架用的是logback的话可以使用这种方式,这种方式更灵活,可以自由配置日志格式

logUseSlf4j方式修改配置需要2步:

  1. 修改启动类main方法
public static void main(String[] args) {System.setProperty(ClientLogger.CLIENT_LOG_USESLF4J,"true");SpringApplication.run(App.class, args);
}
  1. 修改 配置文件
  • 中加入如下rocketmq的日志存储路径
rocketmq:client:logPath: D:Softrocketmq
  • 修改l`文件

文件名修改为 ,并修改xml里面的内容,加入如下代码:

<!--日志文件的存储路径-->
<springProperty scope="context" name="rocketmq_client_log_dir" source="rocketmq.client.logPath"/><!-- rocketmq日志 -->
<appender name="RocketmqClientAppender" class="ch.olling.RollingFileAppender"><file>${rocketmq_client_log_dir}/logs/rocketmqlogs/rocketmq_client.log</file><rollingPolicy class="ch.olling.TimeBasedRollingPolicy"><fileNamePattern>${rocketmq_client_log_dir}/history/rocketmq_client.%d{yyyyMMdd}.%i.log</fileNamePattern><timeBasedFileNamingAndTriggeringPolicy class="ch.olling.SizeAndTimeBasedFNATP"><maxFileSize>104857600</maxFileSize></timeBasedFileNamingAndTriggeringPolicy><!--保留时间,单位:天--><maxHistory>3</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><logger name="RocketmqClient" additivity="false"><level value="warn" /><appender-ref ref="RocketmqClientAppender"/>
</logger>

配置logRoot

这种方式使用起来比较简单项目启动参数中加入如下启动参数即可

-Drocketmq.client.logRoot=D:Softstore

或者在项目中采用某种方式只要把rocketmq.client.logRoot参数放入到系统参数中就行,比如:

public static void main(String[] args) {
//        -Drocketmq.client.logRoot=D:SoftstoreSystem.setProperty(ClientLogger.CLIENT_LOG_ROOT,"D:\Soft\store");SpringApplication.run(App.class, args);
}

这样客户端的日志就会在指定路径下生成了。

总结

rocketmq 中不管是服务端还是客户端的日志配置都是在类ketmq.client.log.ClientLogger中,通过ClientLogger可以发现rocketmq日志的参数都是加入到系统属性中去的,所以我们只要修改对应的系统属性就可以修改rocketmq的日志配置了。感兴趣的可以去看看源码探索更多的可能。

本文发布于:2024-02-01 20:21:28,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170679008939205.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:路径   文件   日志   rocketmq
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23