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