logback输出日志到logstash

121 阅读1分钟
  1. 项目添加依赖
<dependency>  
    <groupId>net.logstash.logback</groupId>  
    <artifactId>logstash-logback-encoder</artifactId>  
    <version>4.11</version>  
</dependency>
  1. logback-spring.xml添加LogstashAppender
<appender name="LOGSTASH"  
class="net.logstash.logback.appender.LogstashTcpSocketAppender">  
<destination>192.168.10.101:5044</destination>  
    <encoder  
    class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">  
    <providers>  
        <timestamp>  
            <timeZone>UTC</timeZone>  
        </timestamp>  
        <pattern>  
            <pattern>  
                {  
                "service": "${APPLICATION_NAME:-}",  
                "level": "%level",  
                "trace": "%X{traceId}",  
                "pid": ${PID},  
                "thread": "%thread",  
                "class": "%logger{40}",  
                "message": "%message"  
                }  
            </pattern>  
        </pattern>  
    </providers>  
</encoder>  
</appender>
  1. 配置日志输出
<springProfile name="default,local,dev,test">  
    <root level="info">  
        <appender-ref ref="STDOUT"/>  
        <appender-ref ref="FILE"/>  
        <appender-ref ref="ERROR_FILE"/>  
        <appender-ref ref="LOGSTASH"/>
    </root>  
</springProfile>