log/slog

Logging
import "log/slog"

Provides structured logging with levels, attributes, and pluggable handlers (Go 1.21+).

Example

package main

import "log/slog"

func main() {
    slog.Info("user logged in",
        "username", "alice",
        "ip", "192.168.1.1",
    )
    slog.Warn("rate limit approaching", "remaining", 10)
}

Key Types & Functions

InfoWarnErrorDebugLoggerHandlerAttrNewJSONHandler

About log/slog

The log/slog package (imported as log/slog) belongs to the Logging category of Go packages. Provides structured logging with levels, attributes, and pluggable handlers (Go 1.21+).

Go's standard library is one of the language's greatest strengths, providing production-ready implementations for networking, cryptography, encoding, I/O, and more. The log/slog package follows Go's philosophy of simplicity and composability — small, focused packages that combine through interfaces like io.Reader and io.Writer.

When using log/slog in production, follow Go best practices: handle errors explicitly, use context for cancellation and timeouts, prefer composition over inheritance, and write table-driven tests. The Go documentation at pkg.go.dev provides comprehensive API references and examples for every exported type and function.

Related Packages