audit-go/pkg/log/slog.go
Christian Schaible (EXT) 85aae1c2e7 Merged PR 779949: feat: Refactor module structure to reflect best practices
Security-concept-update-needed: false.

JIRA Work Item: STACKITALO-259
2025-05-19 11:54:00 +00:00

35 lines
752 B
Go

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
}