1. 先看rocketmq官方demo描述
rocketmq官方给出的log集成demo
logback
When using logback,an asyncAppender also needed.
<appender name="mqAppender1" class="org.apache.rocketmq.logappender.logback.RocketmqLogbackAppender">
<tag>yourTag</tag>
<topic>yourLogTopic</topic>
<producerGroup>yourLogGroup</producerGroup>
<nameServerAddress>yourRocketmqNameserverAddress</nameServerAddress>
<layout>
<pattern>%date %p %t - %m%n</pattern>
</layout>
</appender>
<appender name="mqAsyncAppender1" class="ch.qos.logback.classic.AsyncAppender">
<queueSize>1024</queueSize>
<discardingThreshold>80</discardingThreshold>
<maxFlushTime>2000</maxFlushTime>
<neverBlock>true</neverBlock>
<appender-ref ref="mqAppender1"/>
</appender>
根据以上代码配置可以快速的将日志打印到MQ中,但是日志的信息为pattern 格式的解析比较麻烦。因此准备改造成json数据
2. 引用logstash-logback-encoder
引用logstash的插件
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>5.2</version>
</dependency>
3. 修改配置文件
修改logback.xml配置文件
<layout>
<pattern>%date %p %t - %m%n</pattern>
</layout>
改为
<layout class="net.logstash.logback.layout.LogstashLayout">
</layout>
日志将打印为logstash 的json格式
改造之前的效果
改造之后的效果
初次写博客,多多关照。