log

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package log provides structured logging for HTTP requests and responses using zerolog, a zero-allocation JSON logger.

Index

Constants

View Source
const (
	DebugLevel = zerolog.DebugLevel
	InfoLevel  = zerolog.InfoLevel
	WarnLevel  = zerolog.WarnLevel
	ErrorLevel = zerolog.ErrorLevel
)

Log levels.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Level      Level
	Pretty     bool   // Use colored console output
	TimeFormat string // Time format (default: time.RFC3339)
	Verbose    bool   // Log full headers and cookies
}

Config holds logger configuration.

type Level

type Level = zerolog.Level

Level represents the logging level.

type Logger

type Logger struct {
	// contains filtered or unexported fields
}

Logger wraps zerolog.Logger for HTTP request/response logging.

func Console

func Console(level Level) *Logger

Console creates a pretty console logger.

func ConsoleVerbose

func ConsoleVerbose(level Level) *Logger

ConsoleVerbose creates a pretty console logger with verbose output.

func File

func File(path string, level Level) (*Logger, error)

File creates a JSON file logger.

func Multi

func Multi(writers ...io.Writer) *Logger

Multi creates a logger that writes to multiple outputs.

func New

func New(w io.Writer, cfg Config) *Logger

New creates a logger that writes to the given writer.

func (*Logger) Debug

func (l *Logger) Debug() *zerolog.Event

Debug returns a debug level event.

func (*Logger) Error

func (l *Logger) Error() *zerolog.Event

Error returns an error level event.

func (*Logger) Info

func (l *Logger) Info() *zerolog.Event

Info returns an info level event.

func (*Logger) Redirect

func (l *Logger) Redirect(from, to string, statusCode int)

Redirect logs a redirect event.

func (*Logger) Request

func (l *Logger) Request(info RequestInfo)

Request logs an outgoing HTTP request.

func (*Logger) Response

func (l *Logger) Response(req RequestInfo, resp ResponseInfo, err error)

Response logs an incoming HTTP response.

func (*Logger) Verbose

func (l *Logger) Verbose() bool

Verbose returns whether verbose logging is enabled.

func (*Logger) Warn

func (l *Logger) Warn() *zerolog.Event

Warn returns a warn level event.

func (*Logger) Zerolog

func (l *Logger) Zerolog() zerolog.Logger

Zerolog returns the underlying zerolog.Logger for advanced use.

type RequestInfo

type RequestInfo struct {
	Method  string
	URL     string
	Host    string
	Headers [][2]string // Ordered headers (key, value pairs)
	Cookies []string    // Cookie strings
}

RequestInfo contains loggable request data.

type ResponseInfo

type ResponseInfo struct {
	StatusCode    int
	Status        string
	Proto         string
	ContentLength int64
	Headers       [][2]string // Ordered headers (key, value pairs)
	Cookies       []string    // Set-Cookie values
	Duration      time.Duration
}

ResponseInfo contains loggable response data.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL