<dependency>
<groupId>de.siegmar</groupId>
<artifactId>logback-gelf</artifactId>
<version>3.0.0</version>
</dependency>
<springProperty scope="context" name="appName" source="spring.application.name"/>
<springProperty scope="context" name="graylogHost" source="graylog.host"/>
<springProperty scope="context" name="graylogPort" source="graylog.port"/>
<appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender">
<!-- Graylog服务的地址 -->
<graylogHost>${graylogHost}</graylogHost>
<!-- Input端口 -->
<graylogPort>${graylogPort}</graylogPort>
<!-- udp 类型的需要最大GELF数据块大小(单位:字节),508为建议最小值,最大值为65467 -->
<maxChunkSize>65467</maxChunkSize>
<!-- 是否使用压缩 -->
<useCompression>true</useCompression>
<!-- <!– 启用异步队列 –>-->
<!-- <queueSize>512</queueSize>-->
<!-- <maxFlushTime>5000</maxFlushTime> <!– 最大刷新间隔5秒 –>-->
<!-- <batchSize>10</batchSize> <!– 批量发送条数 –>-->
<!-- <flushInterval>1000</flushInterval> <!– 刷新间隔1秒 –>-->
<encoder class="de.siegmar.logbackgelf.GelfEncoder">
<!-- 是否发送原生的日志信息 -->
<includeRawMessage>true</includeRawMessage>
<includeMarker>true</includeMarker>
<includeMdcData>true</includeMdcData>
<includeCallerData>true</includeCallerData>
<includeRootCauseData>true</includeRootCauseData>
<!-- 是否发送日志级别的名称,否则默认以数字代表日志级别 -->
<includeLevelName>true</includeLevelName>
<numbersAsString>true</numbersAsString>
<shortPatternLayout class="ch.qos.logback.classic.PatternLayout">
<pattern>%m%nopex</pattern>
</shortPatternLayout>
<fullPatternLayout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d - %X{traceId} [%thread] %-5level %logger{50} - %msg%n</pattern>
</fullPatternLayout>
<!-- 配置应用名称(服务名称),通过staticField标签可以自定义一些固定的日志字段 -->
<staticField>app_name:${appName}</staticField>
<staticField>traceId:%{traceId}</staticField>
</encoder>
</appender>
# 以87环境的为例
graylog:
host: 10.3.11.38
port: 8085
注意: 如果是用的跟HIS一样的nacos配置中心,也可以导入config-his-graylog.yml 这个配置文件。
访问量: 574157