sirupsen/logrus · error

cannot create hook from nil logger

Error message

cannot create hook from nil logger

What it means

Error "cannot create hook from nil logger" thrown in sirupsen/logrus.

Source

Thrown at hooks/slog/slog.go:73

// [HookOptions.LevelMapper] to customize the mapping.
type Hook struct {
	logger *slog.Logger
	opts   HookOptions
}

var _ logrus.Hook = (*Hook)(nil)

// NewHook creates a [logrus.Hook] that sends logs to the provided [slog.Logger].
//
// This hook is intended to be used during transition from Logrus to slog,
// or as a shim between different parts of your application or different
// libraries that depend on different loggers.
//
// The provided logger must not be nil. NewHook panics if logger is nil.
// If opts is nil, the default options are used.
func NewHook(logger *slog.Logger, opts *HookOptions) *Hook {
	if logger == nil {
		panic("cannot create hook from nil logger")
	}
	if opts == nil {
		opts = &HookOptions{}
	}
	return &Hook{
		logger: logger,
		opts:   *opts,
	}
}

// toSlogLevel maps a Logrus level using LevelMapper or the default mapping.
func (h *Hook) toSlogLevel(level logrus.Level) slog.Level {
	if h.opts.LevelMapper != nil {
		return h.opts.LevelMapper(level)
	}
	return Level(level).Level()
}

View on GitHub (pinned to 457e372460)

When it happens

Trigger: Thrown at hooks/slog/slog.go:73 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of sirupsen/logrus@457e372460 (2026-08-16). Data as JSON: /api/errors/fe15f955d3e060ae. Report an issue: GitHub.