forked from mirror/gin
make context.Keys available as LogFormatterParams (#1779)
* make context available as LogFormatterParams * pass context Keys to LogFormatterParams * update logger test to check for Key param
This commit is contained in:
parent
057f63b1bb
commit
3dc247893e
|
@ -66,6 +66,8 @@ type LogFormatterParams struct {
|
||||||
IsTerm bool
|
IsTerm bool
|
||||||
// BodySize is the size of the Response Body
|
// BodySize is the size of the Response Body
|
||||||
BodySize int
|
BodySize int
|
||||||
|
// Keys are the keys set on the request's context.
|
||||||
|
Keys map[string]interface{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// StatusCodeColor is the ANSI color for appropriately logging http status code to a terminal.
|
// StatusCodeColor is the ANSI color for appropriately logging http status code to a terminal.
|
||||||
|
@ -227,6 +229,7 @@ func LoggerWithConfig(conf LoggerConfig) HandlerFunc {
|
||||||
param := LogFormatterParams{
|
param := LogFormatterParams{
|
||||||
Request: c.Request,
|
Request: c.Request,
|
||||||
IsTerm: isTerm,
|
IsTerm: isTerm,
|
||||||
|
Keys: c.Keys,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stop timer
|
// Stop timer
|
||||||
|
|
|
@ -181,6 +181,7 @@ func TestLoggerWithFormatter(t *testing.T) {
|
||||||
|
|
||||||
func TestLoggerWithConfigFormatting(t *testing.T) {
|
func TestLoggerWithConfigFormatting(t *testing.T) {
|
||||||
var gotParam LogFormatterParams
|
var gotParam LogFormatterParams
|
||||||
|
var gotKeys map[string]interface{}
|
||||||
buffer := new(bytes.Buffer)
|
buffer := new(bytes.Buffer)
|
||||||
|
|
||||||
router := New()
|
router := New()
|
||||||
|
@ -204,6 +205,7 @@ func TestLoggerWithConfigFormatting(t *testing.T) {
|
||||||
router.GET("/example", func(c *Context) {
|
router.GET("/example", func(c *Context) {
|
||||||
// set dummy ClientIP
|
// set dummy ClientIP
|
||||||
c.Request.Header.Set("X-Forwarded-For", "20.20.20.20")
|
c.Request.Header.Set("X-Forwarded-For", "20.20.20.20")
|
||||||
|
gotKeys = c.Keys
|
||||||
})
|
})
|
||||||
performRequest(router, "GET", "/example?a=100")
|
performRequest(router, "GET", "/example?a=100")
|
||||||
|
|
||||||
|
@ -223,6 +225,8 @@ func TestLoggerWithConfigFormatting(t *testing.T) {
|
||||||
assert.Equal(t, "GET", gotParam.Method)
|
assert.Equal(t, "GET", gotParam.Method)
|
||||||
assert.Equal(t, "/example?a=100", gotParam.Path)
|
assert.Equal(t, "/example?a=100", gotParam.Path)
|
||||||
assert.Empty(t, gotParam.ErrorMessage)
|
assert.Empty(t, gotParam.ErrorMessage)
|
||||||
|
assert.Empty(t, gotParam.ErrorMessage)
|
||||||
|
assert.Equal(t, gotKeys, gotParam.Keys)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue