1.maven
<!--日志elasticsearch--><dependency><groupId>com.agido</groupId><artifactId>logback-elasticsearch-appender</artifactId><version>3.0.8</version></dependency><dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>7.3</version></dependency><!-- elasticsearch依赖 --><dependency><groupId>co.elastic.clients</groupId><artifactId>elasticsearch-java</artifactId><version>8.7.1</version></dependency>
2.logback.xml配置
<!--输出到logstash的appender--><appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"><!--可以访问的logstash日志收集端口--><destination>ip:port</destination><encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"><customFields>{"serviceId":"web-app"}</customFields><includeMdcKeyName>startTime</includeMdcKeyName><includeMdcKeyName>endTime</includeMdcKeyName><includeMdcKeyName>requestRawJson</includeMdcKeyName><includeMdcKeyName>responseRawJson</includeMdcKeyName><includeMdcKeyName>responseTime</includeMdcKeyName><includeMdcKeyName>url</includeMdcKeyName><includeMdcKeyName>method</includeMdcKeyName><includeMdcKeyName>path</includeMdcKeyName></encoder><writeBufferSize>32000</writeBufferSize></appender><!--所有错误日志都打印--><root level="ERROR"><appender-ref ref="LOGSTASH"/><appender-ref ref="FILE"/></root><!--项目mis包下日志--><logger name="xxx" level="${LOG_LEVEL}" additivity="false"><appender-ref ref="LOGSTASH"/><appender-ref ref="FILE"/></logger><!-- hibernate sql日志 --><logger name="org.hibernate.SQL" level="WARN"/>
3.日志记录情况