使用rocketmq后,默认会在{user.home}\logs\rocketmqlogs 目录下生成大量的mq跟踪日志,与应用日志不在同级目录,不方便统一管理,可以通过以下方式禁用或改变存储目录。
1、rocketmq启用slf4j
在项目中设置系统属性
rocketmq.client.logUseSlf4j=true
启动参数 添加:
-Drocketmq.client.logUseSlf4j=true 【推荐】
或者启动类添加:
System.setProperty("rocketmq.client.logUseSlf4j","true")
2、logback日志配置Rocketmq apppender
<appender name="RocketmqClientAppender"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME}/rocketmq.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/rocketmq.log.%d{yyyy-MM-dd}
</fileNamePattern>
<TimeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<MaxFileSize>30MB</MaxFileSize>
</TimeBasedFileNamingAndTriggeringPolicy>
</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>
3、Rocketmq logger配置
<logger name="RocketmqClient" additivity="false">
<level value="info" />
<appender-ref ref="RocketmqClientAppender"/>
</logger>