diff --git a/_examples/http_request/request-logger/main.go b/_examples/http_request/request-logger/main.go index 327b3e69..888de7a6 100644 --- a/_examples/http_request/request-logger/main.go +++ b/_examples/http_request/request-logger/main.go @@ -17,6 +17,8 @@ func main() { Method: true, // Path displays the request path Path: true, + // Query appends the url query to the Path. + Query: true, //Columns: true, diff --git a/_examples/http_request/request-logger/request-logger-file/main.go b/_examples/http_request/request-logger/request-logger-file/main.go index 86e68cba..dc37f8a1 100644 --- a/_examples/http_request/request-logger/request-logger-file/main.go +++ b/_examples/http_request/request-logger/request-logger-file/main.go @@ -85,7 +85,7 @@ func newRequestLogger() (h iris.Handler, close func() error) { return err } - c.LogFunc = func(now time.Time, latency time.Duration, status, ip, method, path string, message interface{},headerMessage interface{}) { + c.LogFunc = func(now time.Time, latency time.Duration, status, ip, method, path string, message interface{}, headerMessage interface{}) { output := logger.Columnize(now.Format("2006/01/02 - 15:04:05"), latency, status, ip, method, path, message, headerMessage) logFile.Write([]byte(output)) } diff --git a/middleware/logger/config.go b/middleware/logger/config.go index eb3e2143..991e57b4 100644 --- a/middleware/logger/config.go +++ b/middleware/logger/config.go @@ -30,6 +30,12 @@ type Config struct { // Defaults to true. Path bool + // Query will append the URL Query to the Path. + // Path should be true too. + // + // Defaults to false. + Query bool + // Columns will display the logs as a formatted columns-rows text (bool). // If custom `LogFunc` has been provided then this field is useless and users should // use the `Columinize` function of the logger to get the output result as columns. @@ -81,6 +87,7 @@ func DefaultConfig() Config { IP: true, Method: true, Path: true, + Query: false, Columns: false, LogFunc: nil, Skippers: nil, diff --git a/middleware/logger/logger.go b/middleware/logger/logger.go index e9abeb36..98d5c8fc 100644 --- a/middleware/logger/logger.go +++ b/middleware/logger/logger.go @@ -66,7 +66,11 @@ func (l *requestLoggerMiddleware) ServeHTTP(ctx context.Context) { } if l.config.Path { - path = ctx.Path() + if l.config.Query { + path = ctx.Request().URL.RequestURI() + } else { + path = ctx.Path() + } } var message interface{}