fix: add `Resolver.String` so logs don't use Go's default format

This commit is contained in:
ThinkChaos 2024-01-14 14:47:13 -05:00
parent f0ad412d8d
commit dd76cf5bb0
4 changed files with 13 additions and 2 deletions

View File

@ -21,6 +21,11 @@ func (NoOpResolver) Type() string {
return "noop"
}
// String implements `fmt.Stringer`.
func (r NoOpResolver) String() string {
return r.Type()
}
// IsEnabled implements `config.Configurable`.
func (NoOpResolver) IsEnabled() bool {
return true

View File

@ -140,7 +140,7 @@ func (r *ParallelBestResolver) String() string {
upstreams := make([]string, len(resolvers))
for i, s := range resolvers {
upstreams[i] = fmt.Sprintf("%s", s.resolver)
upstreams[i] = s.resolver.String()
}
return fmt.Sprintf("%s upstreams '%s (%s)'", r.Type(), r.cfg.Name, strings.Join(upstreams, ","))

View File

@ -68,6 +68,7 @@ func newRequestWithClientID(question string, rType dns.Type, ip, requestClientID
// Resolver generic interface for all resolvers
type Resolver interface {
config.Configurable
fmt.Stringer
// Type returns a short, user-friendly, name for the resolver.
//
@ -193,6 +194,11 @@ func (t *typed) Type() string {
return t.typeName
}
// String implements `fmt.Stringer`.
func (t *typed) String() string {
return t.Type()
}
func (t *typed) log() *logrus.Entry {
return log.PrefixedLog(t.Type())
}

View File

@ -66,7 +66,7 @@ func (r *StrictResolver) String() string {
upstreams := make([]string, len(resolvers))
for i, s := range resolvers {
upstreams[i] = fmt.Sprintf("%s", s.resolver)
upstreams[i] = s.resolver.String()
}
return fmt.Sprintf("%s upstreams '%s (%s)'", strictResolverType, r.cfg.Name, strings.Join(upstreams, ","))