New Features
This release allows you to set a logger per component (interface). This is, for example, useful if you want to set a logger with separate fields per component, to filter your logs e.g.
Be aware that if you want to set one logger for all components, OR a default logger for the components, you still need to manually assign your logger to logger.DefaultLogger
. However, you can now overwrite the use of the default logger with options.
import log "go-micro.dev/v4/logger"
// This logger will be used by all services that don't have a logger set explicitly
log.DefaultLogger = dLogger
// Create service
srv := micro.NewService(
...
// This logger will only be used by the service component, it is not passed on to other components
micro.Logger(logger),
micro.Broker(
broker.NewBroker(
broker.Logger(bLogger),
),
),
micro.Registry(
registry.NewRegistry(
registry.Logger(rLogger),
),
),
)
What's Changed
- fix: prevent returning invalid empty strings for memory store list by @dbereza-machinify in #2553
- feat(config): add withFS option to file source by @asynxc in #2557
- docs: update README shields by @Davincible in #2558
- feat(logger): add logger option to all micro components (override DefaultLogger) closes #2556 by @asynxc in #2559
New Contributors
Full Changelog: v4.8.1...v4.9.0