Documentation
ΒΆ
Index ΒΆ
- Variables
- func AddCustomAttributes(c *gin.Context, attrs ...slog.Attr)
- func GetRequestID(c *gin.Context) string
- func New(logger *slog.Logger) gin.HandlerFunc
- func NewWithConfig(logger *slog.Logger, config Config) gin.HandlerFunc
- func NewWithFilters(logger *slog.Logger, filters ...Filter) gin.HandlerFunc
- func SetDebugPrintFunc(logger *slog.Logger, customFunc ...func(format string, values ...any))
- func SetDebugPrintRouteFunc(logger *slog.Logger, ...)
- 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": {}, } // Formatted with http.CanonicalHeaderKey RequestIDHeaderKey = "X-Request-Id" RequestIDContextKey = "slog-gin.request-id" )
Functions ΒΆ
func AddCustomAttributes ΒΆ added in v1.3.0
AddCustomAttributes adds custom attributes to the request context.
func GetRequestID ΒΆ added in v0.2.0
GetRequestID returns the request identifier.
func New ΒΆ
func New(logger *slog.Logger) gin.HandlerFunc
New returns a gin.HandlerFunc (middleware) that logs requests using slog.
Requests with errors are logged using slog.Error(). Requests without errors are logged using slog.Info().
func NewWithConfig ΒΆ
func NewWithConfig(logger *slog.Logger, config Config) gin.HandlerFunc
NewWithConfig returns a gin.HandlerFunc (middleware) that logs requests using slog.
func NewWithFilters ΒΆ added in v1.1.0
func NewWithFilters(logger *slog.Logger, filters ...Filter) gin.HandlerFunc
NewWithFilters returns a gin.HandlerFunc (middleware) that logs requests using slog.
Requests with errors are logged using slog.Error(). Requests without errors are logged using slog.Info().
func SetDebugPrintFunc ΒΆ added in v1.16.0
SetDebugPrintFunc sets the debug print function for the gin engine. If no custom function is provided, the default function will be used. The default function logs the debug message with the format and values.
func SetDebugPrintRouteFunc ΒΆ added in v1.16.0
func SetDebugPrintRouteFunc(logger *slog.Logger, customFunc ...func(httpMethod string, absolutePath string, handlerName string, nuHandlers int))
SetDebugPrintRouteFunc sets the debug print route function for the gin engine. If no custom function is provided, the default function will be used. The default function logs the route registered with the method, path, handler, and number of handlers.
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
HandleGinDebug bool
Filters []Filter
}