Skip to content

Commit 65d7eb6

Browse files
authored
fix(clihttp): log errors (#212)
* fix: add clihttp Providers * fix: add clihttp Providers * fix: add clihttp Providers * fix: add clihttp Providers * fix(logging): inconsistency between go kit Logger and spanLogger Only log.Valuer passed via log.With are treated as dynamic argument in go kit log. The change makes spanLogger consistent with go kit. * fix(clihttp): correctly logs error
1 parent d4dd508 commit 65d7eb6

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

clihttp/client.go

+2
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ func (c *Client) Do(req *http.Request) (*http.Response, error) {
8888
c.tracer.Inject(clientSpan.Context(), opentracing.HTTPHeaders, opentracing.HTTPHeadersCarrier(req.Header))
8989
response, err := c.underlying.Do(req)
9090
if err != nil {
91+
ext.Error.Set(clientSpan, true)
92+
clientSpan.LogFields(log.String("event", "error"), log.String("message", err.Error()))
9193
return response, err
9294
}
9395

clihttp/client_test.go

+10-1
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,23 @@ func TestClient_Do(t *testing.T) {
3838
func() *http.Request { r, _ := http.NewRequest("GET", "https://example.com/", nil); return r }(),
3939
[]Option{WithResponseLogThreshold(1)},
4040
},
41+
{
42+
"error",
43+
func() *http.Request { r, _ := http.NewRequest("GET", "https://non-exist-domain.com/", nil); return r }(),
44+
[]Option{},
45+
},
4146
}
4247
for _, c := range cases {
4348
c := c
4449
t.Run(c.name, func(t *testing.T) {
4550
t.Parallel()
4651
tracer := mocktracer.New()
4752
client := NewClient(tracer, c.Option...)
48-
resp, _ := client.Do(c.request)
53+
resp, err := client.Do(c.request)
54+
if err != nil {
55+
assert.True(t, tracer.FinishedSpans()[0].Tags()["error"].(bool))
56+
return
57+
}
4958
defer resp.Body.Close()
5059
assert.NotEmpty(t, tracer.FinishedSpans())
5160
byt, _ := ioutil.ReadAll(resp.Body)

0 commit comments

Comments
 (0)