package helpers import "log/slog" // LogDeferredError runs a deferred cleanup function and logs any error it returns. func LogDeferredError(logger *slog.Logger, action string, fn func() error, attrs ...any) { if fn == nil { return } if logger == nil { logger = slog.Default() } if err := fn(); err != nil { logArgs := append([]any{"action", action, "error", err}, attrs...) logger.Warn("deferred cleanup failed", logArgs...) } }