package log import "log/slog" type SlogLogger struct { logger *slog.Logger } func UseSlogAuditLogger(logger *slog.Logger) { AuditLogger = SlogLogger{logger: logger} } func (s SlogLogger) Debug(msg string, err ...error) { s.logger.Debug(msg, s.getWrappedError(err)) } func (s SlogLogger) Info(msg string, err ...error) { s.logger.Info(msg, s.getWrappedError(err)) } func (s SlogLogger) Warn(msg string, err ...error) { s.logger.Warn(msg, s.getWrappedError(err)) } func (s SlogLogger) Error(msg string, err ...error) { s.logger.Error(msg, s.getWrappedError(err)) } func (s SlogLogger) getWrappedError(err []error) slog.Attr { var wrappedErr slog.Attr if err != nil { wrappedErr = slog.Any("error", wrapErr(err)) } return wrappedErr }