Documentation
ΒΆ
Index ΒΆ
- Variables
- func AddContextAttributes(ctx context.Context, attrs ...slog.Attr)
- func AddCustomAttributes(r *http.Request, attrs ...slog.Attr)
- func New(logger *slog.Logger) func(http.Handler) http.Handler
- func NewWithConfig(logger *slog.Logger, config Config) func(http.Handler) http.Handler
- func NewWithFilters(logger *slog.Logger, filters ...Filter) func(http.Handler) http.Handler
- type Config
- type Filter
- func Accept(filter Filter) Filter
- func AcceptHost(hosts ...string) Filter
- func AcceptHostContains(parts ...string) Filter
- func AcceptHostMatch(regs ...regexp.Regexp) Filter
- func AcceptHostPrefix(prefixs ...string) Filter
- func AcceptHostSuffix(prefixs ...string) Filter
- func AcceptMethod(methods ...string) Filter
- func AcceptPath(urls ...string) Filter
- func AcceptPathContains(parts ...string) Filter
- func AcceptPathMatch(regs ...regexp.Regexp) Filter
- func AcceptPathPrefix(prefixs ...string) Filter
- func AcceptPathSuffix(prefixs ...string) Filter
- func AcceptStatus(statuses ...int) Filter
- func AcceptStatusGreaterThan(status int) Filter
- func AcceptStatusGreaterThanOrEqual(status int) Filter
- func AcceptStatusLessThan(status int) Filter
- func AcceptStatusLessThanOrEqual(status int) Filter
- func Ignore(filter Filter) Filter
- func IgnoreHost(hosts ...string) Filter
- func IgnoreHostContains(parts ...string) Filter
- func IgnoreHostMatch(regs ...regexp.Regexp) Filter
- func IgnoreHostPrefix(prefixs ...string) Filter
- func IgnoreHostSuffix(suffixs ...string) Filter
- func IgnoreMethod(methods ...string) Filter
- func IgnorePath(urls ...string) Filter
- func IgnorePathContains(parts ...string) Filter
- func IgnorePathMatch(regs ...regexp.Regexp) Filter
- func IgnorePathPrefix(prefixs ...string) Filter
- func IgnorePathSuffix(suffixs ...string) Filter
- func IgnoreStatus(statuses ...int) Filter
- func IgnoreStatusGreaterThan(status int) Filter
- func IgnoreStatusGreaterThanOrEqual(status int) Filter
- func IgnoreStatusLessThan(status int) Filter
- func IgnoreStatusLessThanOrEqual(status int) Filter
Constants ΒΆ
This section is empty.
Variables ΒΆ
var ( TraceIDKey = "trace_id" SpanIDKey = "span_id" RequestIDKey = "id" RequestBodyMaxSize = 64 * 1024 // 64KB ResponseBodyMaxSize = 64 * 1024 // 64KB HiddenRequestHeaders = map[string]struct{}{ "authorization": {}, "cookie": {}, "set-cookie": {}, "x-auth-token": {}, "x-csrf-token": {}, "x-xsrf-token": {}, } HiddenResponseHeaders = map[string]struct{}{ "set-cookie": {}, } )
Functions ΒΆ
func AddContextAttributes ΒΆ added in v1.15.0
AddContextAttributes is the same as AddCustomAttributes, but it doesn't need access to the request struct.
func AddCustomAttributes ΒΆ added in v1.2.0
AddCustomAttributes adds custom attributes to the request context. This func can be called from any handler or middleware, as long as the slog-chi middleware is already mounted.
func New ΒΆ
New returns a `func(http.Handler) http.Handler` (middleware) that logs requests using slog.
Requests with errors are logged using slog.Error(). Requests without errors are logged using slog.Info().
func NewWithConfig ΒΆ
NewWithConfig returns a `func(http.Handler) http.Handler` (middleware) that logs requests using slog.
func NewWithFilters ΒΆ
NewWithFilters returns a `func(http.Handler) http.Handler` (middleware) that logs requests using slog.
Requests with errors are logged using slog.Error(). Requests without errors are logged using slog.Info().
Types ΒΆ
type Config ΒΆ
type Config struct {
DefaultLevel slog.Level
ClientErrorLevel slog.Level
ServerErrorLevel slog.Level
WithUserAgent bool
WithRequestID bool
WithRequestBody bool
WithRequestHeader bool
WithResponseBody bool
WithResponseHeader bool
WithSpanID bool
WithTraceID bool
WithClientIP bool
Filters []Filter
}
func DefaultConfig ΒΆ added in v1.18.0
func DefaultConfig() Config
DefaultConfig returns the default configuration for the request logger.
type Filter ΒΆ
type Filter func(ww middleware.WrapResponseWriter, r *http.Request) bool