Add config options to NewConfiguration()

Signed-off-by: Evans Mungai <mbuevans@gmail.com>
pull/31411/head
Evans Mungai 2 months ago
parent e63b4d92cb
commit aed687eaa1
No known key found for this signature in database
GPG Key ID: BBEB812143DD14E1

@ -117,9 +117,26 @@ type Configuration struct {
logging.LogHolder
}
func NewConfiguration() *Configuration {
type ConfigurationOption func(c *Configuration)
// Override the default logging handler
// If unspecified, the default logger will be used
func ConfigurationSetLogger(h slog.Handler) ConfigurationOption {
return func(c *Configuration) {
c.SetLogger(h)
}
}
func NewConfiguration(options ...ConfigurationOption) *Configuration {
c := &Configuration{}
c.SetLogger(slog.Default().Handler())
for _, o := range options {
o(c)
}
if c.Logger() == nil {
c.SetLogger(slog.Default().Handler())
}
return c
}

Loading…
Cancel
Save