drone/internal/api/middleware/accesslog/accesslog.go
Enver Bisevac 00647d7d1b [MAINT] golangci-lint config changed (#31)
* goheader linter added

* file header consistency
2022-10-13 14:39:15 +02:00

28 lines
695 B
Go

// Copyright 2022 Harness Inc. All rights reserved.
// Use of this source code is governed by the Polyform Free Trial License
// that can be found in the LICENSE.md file for this repository.
package accesslog
import (
"net/http"
"time"
"github.com/rs/zerolog/hlog"
)
/*
* A simple middleware that logs completed requests using the default hlog access handler.
*/
func HlogHandler() func(http.Handler) http.Handler {
return hlog.AccessHandler(
func(r *http.Request, status, size int, duration time.Duration) {
hlog.FromRequest(r).Info().
Int("status_code", status).
Int("response_size_bytes", size).
Dur("elapsed_ms", duration).
Msg("request completed.")
},
)
}