作者:じ☆ve宝贝
发布时间:2018-12-05T10:22:23
项目中使用了阿里云的MQ,在使用中发现如果使用的是log4j2的话日志框架无法兼容。
官网明确说明1.7.8一下不支持log4j2,但是1.7.8日志怎么使用呢?官网没有明确说明。追了日志源码才发现,代码中会通过System.getProperty("rocketmq.client.logUseSlf4j", "false"); 来判断是否启用sl4j作为日志数据框架,默认是false,所以即便用了也无法输出日志。在项目启动的参数中增加通过指定 -Drocketmq.client.logUseSlf4j=true 来启动 或者 使用System.setProperty("rocketmq.client.logUseSlf4j", "true");
java -Drocketmq.client.logUseSlf4j=true -cp /lib/* ${MAIN_CLASS} &
在log4j同级目录复制一个名为log4j2_rocketmq_client.xml的log4j2的xml。然后配备sl4j插件使用,项目初期使用log4j2.xml启动,然后启动mq后会使用log4j2_rocketmq_client.xml进行日志输出。