Documentation
¶
Index ¶
- func Get(c *gin.Context) zerolog.Logger
- func ParseLevel(levelStr string) (zerolog.Level, error)
- func SetLogger(opts ...Option) gin.HandlerFunc
- type Fn
- type Option
- func WithClientErrorLevel(lvl zerolog.Level) Option
- func WithDefaultLevel(lvl zerolog.Level) Option
- func WithLogger(fn func(*gin.Context, zerolog.Logger) zerolog.Logger) Option
- func WithPathLevel(m map[string]zerolog.Level) Option
- func WithServerErrorLevel(lvl zerolog.Level) Option
- func WithSkipPath(s []string) Option
- func WithSkipPathRegexps(regs ...*regexp.Regexp) Option
- func WithSkipper(s Skipper) Option
- func WithUTC(s bool) Option
- func WithWriter(s io.Writer) Option
- type Skipper
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Get ¶ added in v1.2.0
Get retrieves the zerolog.Logger instance from the given gin.Context. It assumes that the logger has been previously set in the context with the key loggerKey. If the logger is not found, it will panic.
Parameters:
c - the gin.Context from which to retrieve the logger.
Returns:
zerolog.Logger - the logger instance stored in the context.
func ParseLevel ¶ added in v0.2.6
ParseLevel parses a string representation of a log level and returns the corresponding zerolog.Level. It takes a single argument:
- levelStr: a string representing the log level (e.g., "debug", "info", "warn", "error").
It returns:
- zerolog.Level: the parsed log level.
- error: an error if the log level string is invalid.
func SetLogger ¶
func SetLogger(opts ...Option) gin.HandlerFunc
SetLogger returns a gin.HandlerFunc (middleware) that logs requests using zerolog. It accepts a variadic number of Option functions to customize the logger's behavior.
The logger configuration includes: - defaultLevel: the default logging level (default: zerolog.InfoLevel). - clientErrorLevel: the logging level for client errors (default: zerolog.WarnLevel). - serverErrorLevel: the logging level for server errors (default: zerolog.ErrorLevel). - output: the output writer for the logger (default: gin.DefaultWriter). - skipPath: a list of paths to skip logging. - skipPathRegexps: a list of regular expressions to skip logging for matching paths. - logger: a custom logger function to use instead of the default logger.
The middleware logs the following request details: - method: the HTTP method of the request. - path: the URL path of the request. - ip: the client's IP address. - user_agent: the User-Agent header of the request. - status: the HTTP status code of the response. - latency: the time taken to process the request. - body_size: the size of the response body.
The logging level for each request is determined based on the response status code: - clientErrorLevel for 4xx status codes. - serverErrorLevel for 5xx status codes. - defaultLevel for other status codes. - Custom levels can be set for specific paths using the pathLevels configuration.
Types ¶
type Fn ¶ added in v0.2.4
Fn is a function type that takes a gin.Context and a zerolog.Logger as parameters, and returns a zerolog.Logger. It is typically used to modify or enhance the logger within the context of a Gin HTTP request.
type Option ¶ added in v0.1.0
type Option interface {
// contains filtered or unexported methods
}
Option specifies instrumentation configuration options.
func WithClientErrorLevel ¶ added in v0.2.2
WithClientErrorLevel set the log level used for request with status code between 400 and 499
func WithDefaultLevel ¶ added in v0.2.2
WithDefaultLevel set the log level used for request with status code < 400
func WithLogger ¶ added in v0.1.0
WithLogger set custom logger func
func WithPathLevel ¶ added in v1.0.0
WithPathLevel use logging level for successful requests to a specific path
func WithServerErrorLevel ¶ added in v0.2.2
WithServerErrorLevel set the log level used for request with status code >= 500
func WithSkipPath ¶ added in v0.1.0
WithSkipPath skip URL path by specific pattern
func WithSkipPathRegexps ¶ added in v0.3.0
WithSkipPathRegexps multiple skip URL paths by regexp pattern
func WithSkipper ¶ added in v1.0.0
WithSkipper returns an Option that sets the Skipper function in the config. The Skipper function determines whether a request should be skipped for logging.
Parameters:
s (Skipper): A function that takes a gin.Context and returns a boolean indicating whether the request should be skipped.
Returns:
Option: An option that sets the Skipper function in the config.
func WithWriter ¶ added in v0.2.0
WithWriter change the default output writer. Default is gin.DefaultWriter