auth和gateway服务的日志没有进入elk中

Blade 未结 1 432
liyun6511530
liyun6511530 剑圣 2022-09-07 14:52

一、该问题的重现步骤是什么?

auth和gateway服务的日志没有进入elk中


二、你期待的结果是什么?实际看到的又是什么?

auth和gateway服务的日志也存入进入elk中


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

bladex-cloud 微服务2.8版本


1条回答
  • 2022-09-07 15:38

    可以给log.xml增加如下配置来自定义,elk推送的逻辑封装在blade-starter-log包内,而Gateway是基于webflux,直接引入log包会报错,所以需要自行配置一下

    <!-- 推送日志至elk -->
    <appender name="INFO_LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>${DESTINATION}</destination>
        <!-- 日志输出编码 -->
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
            <providers>
                <timestamp>
                    <timeZone>UTC</timeZone>
                </timestamp>
                <pattern>
                    <pattern>
                        {
                        "traceId": "%X{traceId}",
                        "requestId": "%X{requestId}",
                        "accountId": "%X{accountId}",
                        "tenantId": "%X{tenantId}",
                        "logLevel": "%level",
                        "serviceName": "${springAppName:-SpringApp}",
                        "pid": "${PID:-}",
                        "thread": "%thread",
                        "class": "%logger{40}",
                        "line":"%L",
                        "message": "%message"
                        }
                    </pattern>
                </pattern>
                <mdc/>
                <stackTrace/>
            </providers>
        </encoder>
        <!-- 打印日志级别 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>


    0 讨论(0)
提交回复