inherit logging config from ocis.yaml, let extensions overwrite their logging. Considering using a package level global logging...

This commit is contained in:
A.Unger
2021-10-31 00:08:46 +02:00
parent 998df71ae3
commit 711acbb354
21 changed files with 180 additions and 126 deletions

View File

@@ -119,6 +119,7 @@ type SutureService struct {
// NewSutureService creates a new thumbnails.SutureService
func NewSutureService(cfg *ociscfg.Config) suture.Service {
inheritLogging(cfg)
if cfg.Mode == 0 {
cfg.Thumbnails.Supervised = true
}
@@ -136,3 +137,13 @@ func (s SutureService) Serve(ctx context.Context) error {
return nil
}
// inheritLogging is a poor man's global logging state tip-toeing around circular dependencies. It sets the logging
// of the service to whatever is in the higher config (in this case coming from ocis.yaml) and sets them as defaults,
// being overwritten when the extension parses its config file / env variables.
func inheritLogging(cfg *ociscfg.Config) {
cfg.Thumbnails.Log.File = cfg.Log.File
cfg.Thumbnails.Log.Color = cfg.Log.Color
cfg.Thumbnails.Log.Pretty = cfg.Log.Pretty
cfg.Thumbnails.Log.Level = cfg.Log.Level
}