The current log implementation uses a custom interface to expose a logger:
// Logger defines an interface for logging errors.
type Logger interface {
Error(args ...interface{})
}
type noopLogger struct{}
func (noopLogger) Error(...interface{}) {}
With go 1.21 a structured log package was introduced - https://go.dev/blog/slog
Would you accept a PR that swaps out the existing logger for a *slog.Logger and updating all the relevant internal calls to be context based. I'm happy to work on this if it's likely to be accepted.