Springboot接入logbook以及logbook配置含义

gradle引入logbook相关配置项:

compile('org.zalando:logbook-spring-boot-starter:1.13.0') {
        exclude group: 'org.zalando', module: 'logbook-json'
    }

代码层面无侵入,只需要加上logbook的配置即可

基础配置如下

logbook.format.style = http
logbook.write.level=info
logging.level.org.zalando.logbook = trace
#以下为增值配置,上面三个加上即可实现
logbook.write.max-body-size=5000
logbook.write.chunk-size=5000
logbook.obfuscate.headers = app-user
logbook.exclude=/swagger-resources/**,/,/health,/favicon.ico,/error,/swagger-ui.html

增加上述配置之后就可以看到,请求的入参、出参都按照logbook的格式进行输了,干净又卫生!

Logbook 配置项

logbook.format.style各配置效果

logbook.format.style= curl

curl -v -X POST 'http://localhost:9013/ccapi/work/getWorkOrderList' -H 'accept: application/json;charset=UTF-8' -H 'accept-encoding: gzip, deflate, br' -H 'accept-language: zh-CN,zh;q=0.9' -H 'connection: keep-alive' -H 'content-length: 105' -H 'content-type: application/json' -H 'host: localhost:9013' -H 'origin: http://localhost:9013' -H 'referer: http://localhost:9013/swagger-ui.html' -H 'sec-ch-ua: "Google Chrome";v="93", " Not;A Brand";v="99", "Chromium";v="93"' -H 'sec-ch-ua-mobile: ?0' -H 'sec-ch-ua-platform: "macOS"' -H 'sec-fetch-dest: empty' -H 'sec-fetch-mode: cors' -H 'sec-fetch-site: same-origin' -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36' --data-binary

'{

  "end_time": "2021-12-31 23:59:59",

  "page": 0,

  "rows": 10,

  "start_time": "2021-10-01 00:00:00"

}’

logbook.format.style= json

{"origin":"remote","type":"request","correlation":"957da04c4ea7ffbc","protocol":"HTTP/1.1","remote":"0:0:0:0:0:0:0:1","method":"POST","uri":"http://localhost:9013/ccapi/work/getWorkOrderList","headers":{"accept":["application/json;charset=UTF-8"],"accept-encoding":["gzip, deflate, br"],"accept-language":["zh-CN,zh;q=0.9"],"connection":["keep-alive"],"content-length":["105"],"content-type":["application/json"],"host":["localhost:9013"],"origin":["http://localhost:9013"],"referer":["http://localhost:9013/swagger-ui.html"],"sec-ch-ua":["\"Google Chrome\";v=\"93\", \" Not;A Brand\";v=\"99\", \"Chromium\";v=\"93\""],"sec-ch-ua-mobile":["?0"],"sec-ch-ua-platform":["\"macOS\""],"sec-fetch-dest":["empty"],"sec-fetch-mode":["cors"],"sec-fetch-site":["same-origin"],"user-agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36"]},"body":{"end_time":"2021-12-31 23:59:59","page":0,"rows":10,"start_time":"2021-10-01 00:00:00"}}

logbook.format.style= http

完全按http格式输出日志

POST http://localhost:9013/ccapi/work/getWorkOrderList HTTP/1.1
sec-fetch-mode: cors
referer: http://localhost:9013/swagger-ui.html
content-length: 105
sec-fetch-site: same-origin
accept-language: zh-CN,zh;q=0.9
origin: http://localhost:9013
accept: application/json;charset=UTF-8
sec-ch-ua: "Google Chrome";v="93", " Not;A Brand";v="99", "Chromium";v="93"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "macOS"
host: localhost:9013
content-type: application/json
connection: keep-alive
accept-encoding: gzip, deflate, br
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36
sec-fetch-dest: empty

{
  "end_time": "2021-12-31 23:59:59",
  "page": 0,
  "rows": 10,
  "start_time": "2021-10-01 00:00:00"
}

logbook.format.style= splunk

origin=remote type=request correlation=cb441ddf6c94dcc1 protocol=HTTP/1.1 remote=0:0:0:0:0:0:0:1 method=POST uri=http://localhost:9013/ccapi/work/getWorkOrderList headers={accept=[application/json;charset=UTF-8], accept-encoding=[gzip, deflate, br], accept-language=[zh-CN,zh;q=0.9], connection=[keep-alive], content-length=[105], content-type=[application/json], host=[localhost:9013], origin=[http://localhost:9013], referer=[http://localhost:9013/swagger-ui.html], sec-ch-ua=["Google Chrome";v="93", " Not;A Brand";v="99", "Chromium";v="93"], sec-ch-ua-mobile=[?0], sec-ch-ua-platform=["macOS"], sec-fetch-dest=[empty], sec-fetch-mode=[cors], sec-fetch-site=[same-origin], user-agent=[Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36]} body={

  "end_time": "2021-12-31 23:59:59",

  "page": 0,

  "rows": 10,

  "start_time": "2021-10-01 00:00:00"

}

logbook.write.max-body-size=10

最大body长度效果如下,超过10的部分会按…显示(请求 返回的body都会受这个配置影响)

POST http://localhost:9013/ccapi/work/getWorkOrderList HTTP/1.1
sec-fetch-mode: cors
referer: http://localhost:9013/swagger-ui.html
content-length: 105
sec-fetch-site: same-origin
accept-language: zh-CN,zh;q=0.9
origin: http://localhost:9013
accept: application/json;charset=UTF-8
sec-ch-ua: "Google Chrome";v="93", " Not;A Brand";v="99", "Chromium";v="93"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "macOS"
host: localhost:9013
content-type: application/json
connection: keep-alive
accept-encoding: gzip, deflate, br
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36
sec-fetch-dest: empty

{

  "end_t...

logbook.obfuscate.headers = app-user

混淆请求中特定的key

这里支持多个,用逗号分隔

效果类似打码,原始的header内容变成了xxx

GET http://localhost:9013/ccapi/maicai/getUserInfo?mobile=15250502950 HTTP/1.1
sec-fetch-mode: cors
referer: http://localhost:9013/swagger-ui.html
sec-fetch-site: same-origin
accept-language: zh-CN,zh;q=0.9
app-user: XXX
accept: application/json;charset=UTF-8
sec-ch-ua: "Google Chrome";v="93", " Not;A Brand";v="99", "Chromium";v="93"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "macOS"
host: localhost:9013
connection: keep-alive
accept-encoding: gzip, deflate, br
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36

sec-fetch-dest: empty

logbook.exclude=/ccapi/maicai/countAdvice,/ccapi/work/getWorkOrderList

配置exclude之后 对应的url请求进来不会触发logbook日志记录

-------------------------

logbook.write.chunk-size = 100

配单条日志长度,超过长度会自动进行拆分,可以防止单条消息过长 将消息进行拆分。

{"msg":"请求成功","code":0,"timestamp":"2021-11-16 20:

 [cc-admin-service-0ac1e87a-454740-33085] 40:12","success":true,"data":{"name":"lindaman","mobile":"15250502950","id":"5b45bd61c5702e77788b538

 [cc-admin-service-0ac1e87a-454740-33085] 5","status_str":"正常","sex":3,"im_uid":"2093996","role_str":"用户","point_total":"205"},"exec_time":

 [cc-admin-service-0ac1e87a-454740-33085] 1050}

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值