Skip to content

Commit ddd70b0

Browse files
committed
fix: log detail bug
1 parent 5a1baad commit ddd70b0

File tree

2 files changed

+36
-5
lines changed

2 files changed

+36
-5
lines changed

log-driver/loki/entity.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,15 @@ type LogCount struct {
4949
}
5050

5151
type LogInfo struct {
52-
Stream *LogDetail `json:"stream"`
52+
Stream *LogDetail `json:"stream"`
53+
Values []interface{} `json:"values"`
54+
}
55+
56+
type LogBodyDetail struct {
57+
RequestBody string `json:"request_body"`
58+
ProxyBody string `json:"proxy_body"`
59+
ResponseBody string `json:"response_body"`
60+
ProxyResponseBody string `json:"proxy_response_body"`
5361
}
5462

5563
type LogDetail struct {

log-driver/loki/loki.go

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,14 +81,37 @@ func (d *Driver) LogInfo(clusterId string, id string) (*log_driver.LogInfo, erro
8181
return nil, fmt.Errorf("no log found")
8282
}
8383
stream := list[0].Stream
84+
requestBody := stream.RequestBody
85+
proxyRequestBody := stream.ProxyBody
86+
proxyResponseBody := stream.ProxyResponseBody
87+
responseBody := stream.ResponseBody
88+
if len(list[0].Values) > 0 {
89+
switch t := list[0].Values[0].(type) {
90+
case []interface{}:
91+
if len(t) > 1 {
92+
v, ok := t[1].(string)
93+
if !ok {
94+
break
95+
}
96+
var tmp LogBodyDetail
97+
err = json.Unmarshal([]byte(v), &tmp)
98+
if err == nil {
99+
requestBody = tmp.RequestBody
100+
proxyRequestBody = tmp.ProxyBody
101+
responseBody = tmp.ResponseBody
102+
proxyResponseBody = tmp.ProxyBody
103+
}
104+
}
105+
}
106+
}
84107
msec, _ := strconv.ParseInt(stream.Msec, 10, 64)
85108
return &log_driver.LogInfo{
86109
LogItem: ToLogItem(stream, msec),
87110
ContentType: stream.ContentType,
88-
RequestBody: stream.RequestBody,
89-
ProxyBody: stream.ProxyBody,
90-
ProxyResponseBody: stream.ProxyResponseBody,
91-
ResponseBody: stream.ResponseBody,
111+
RequestBody: requestBody,
112+
ProxyBody: proxyRequestBody,
113+
ProxyResponseBody: proxyResponseBody,
114+
ResponseBody: responseBody,
92115
RequestHeader: stream.RequestHeader,
93116
ResponseHeader: stream.ResponseHeader,
94117
}, nil

0 commit comments

Comments
 (0)