我希望开发一个基于 spring-cloud-gateway:2.0.2-RELEASE 的网关服务器,并希望利用 sleuth 进行日志记录。自从我写入日志以来,我一直在运行 sleuth,我看到了 Sleuth 详细信息(跨度 ID 等),但我希望看到自动记录的消息正文。我需要做些什么来让 Sleuth 使用 Spring-Cloud-Gateway 开箱即用地记录请求/响应吗?
这是到达我的下游服务的请求标头
标题:
{ 'x-request-foo': '2a9c5e36-2c0f-4ad3-926c-cb20d4428462',
转发:'proto=http;host=localhost;for="0:0:0:0:0:0:0:1:51720"',
'x-forwarded-for': '0:0:0:0:0:0:0:1',
'x-forwarded-proto': 'http',
'x-forwarded-port': '80',
'x-forwarded-host': 'localhost',
'x-b3-traceid': '5bd33eb8050c7a32dfce6adfe68b06ca',
'x-b3-spanid': 'ba202a6d6f3e2893',
'x-b3-parentspanid': 'dfce6adfe68b06ca',
'x-b3-sampled': '0',
主机:'本地主机:8080'},
网关服务中的 Gradle 文件..
构建脚本 {
分机{
kotlinVersion = '1.2.61'
springBootVersion = '2.0.6.RELEASE'
springCloudVersion = 'Finchley.RELEASE'
}
}
依赖管理{
进口{
mavenBom “org.springframework.cloud:spring-cloud-sleuth:2.0.2.RELEASE”
mavenBom 'org.springframework.cloud:spring-cloud-gateway:2.0.2.RELEASE'
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
依赖{
实施('org.springframework.cloud:spring-cloud-starter-sleuth')
实施('org.springframework.cloud:spring-cloud-starter-gateway')
实施(“org.jetbrains.kotlin:kotlin-stdlib-jdk8”)
实施(“org.jetbrains.kotlin:kotlin-reflect”)
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
最后是网关服务的 application.yml 文件...
服务器:
小服务程序:
上下文路径:/
端口:80
春天:
应用:
名称:api.gateway.ben.com
侦探:
跟踪 id128:真
采样器:
概率:1.0
云:
网关:
路线:
- id:管理员-ui-2
谓词:
- 路径=/admin-ui-2/echo/*
过滤器:
- SetPath=/弗雷德
- AddRequestHeader=X-Request-Foo, 2a9c5e36-2c0f-4ad3-926c-cb20d4428462
- AddResponseHeader=X-Response-Foo, 酒吧
网址:http://localhost:8080
记录:
图案:
级别:“[%X{X-B3-TraceId}/%X{X-B3-SpanId}] %-5p [%t] %C{2} - %m%n”
等级:
org.springframework.web:调试