Files
msgexchange-v2/src/main/resources/logback.xml
T

37 lines
1.6 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!-- ACMA-8/ACMA-6logstash TCP JSON 通道保留(字段兼容现网)+ MDC traceId -->
<!-- U12/N31b(顺序约束):先加 Async + neverBlock 降级,再补热路径日志——
否则 logstash 不可达时同步 TCP 发送会反向阻塞业务线程 -->
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level [%X{traceId:-}] %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="LOGSTASH_SYNC" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>${MSGX_LOGSTASH_HOST:-127.0.0.1}:${MSGX_LOGSTASH_PORT:-5044}</destination>
<encoder class="net.logstash.logback.encoder.LogstashEncoder">
<includeMdcKeyName>traceId</includeMdcKeyName>
<includeMdcKeyName>target</includeMdcKeyName>
</encoder>
<reconnectionDelay>10 seconds</reconnectionDelay>
</appender>
<!-- U12:异步 + neverBlock——队列满即丢弃(降级优先保业务线程),不阻塞热路径 -->
<appender name="ASYNC_LOGSTASH" class="ch.qos.logback.classic.AsyncAppender">
<queueSize>4096</queueSize>
<discardingThreshold>0</discardingThreshold>
<neverBlock>true</neverBlock>
<includeCallerData>false</includeCallerData>
<appender-ref ref="LOGSTASH_SYNC"/>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="ASYNC_LOGSTASH"/>
</root>
<logger name="com.gzzn.omms.msgexchange" level="DEBUG"/>
</configuration>