RocketMQ 自定义(日志)文件路径

通过下面转载的两篇文章 发现 ,即使修改了某个mq 节点的输出日志路径,

也没法按照比如topic(或者应用名) 来划分

修改的只是整个日志文件的在服务器的位置

转载:

标签:

一 、 1. 修改store路径 2. 修改logs路径 3. 修改rmq_bk_gc.log路径 4. 修改rmq_srv_gc.log路径 二 、 1. 获取正确的rocketmq 源码 这个要改源码 2. 地址:https://github.com/alibaba/RocketMQ 三 、 1. 修改store路径: ① 修改MessageStoreConfig类中的成员变量默认值,设置为自定义路径 ② 例如: private String storePathRootDir = File.separator + "app" + File.separator + "mqfile" + File.separator + "store"; private String storePathCommitLog = File.separator + "app" + File.separator + "mqfile" + File.separator + "store"+ File.separator + "commitlog"; ③ 使用mvn install 命令打成jar包;或者使用Eclipse export 导成jar包。 ④ 备注:storePathCommitLog可以在broker-a.properties等配置文件中指定。其余路径不可以指定。 2. 修改logs路径 ① 将log xml文件中的路径修改为自定义路径 ② 例如:${user.home} 替换为 ${mqfile} ③ <property name="mqfile" value="/app/mqfile" />

注意:log4j_rocketmq_client.xml 这个文件是 log4j:configuration 配置property需要加<Properties> 详细见官网

<Properties>
    <Property name="mqfile" value="/app/mqfile"/>
</Properties>

标签:

另一篇修改配置文件日志地址

参考

第四步,修改日志配置文件

注意到logback.*.xml配置文件中:

需要替换${user.name}

可以使用sed进行替换:

sed -i s#${user.home}#/software/alibaba-rocketmq#g *.xml

经验分享 程序员 微信小程序 职场和发展