Improvements to logging start-up. (#26649)

Improvements to logging start-up.
- comments have been added
- order of configuration is adjusted to allow the main logger to capture errors in notification logger
- redundant logger initialization removed; no need to configure the logger just to replace the configuration immediately after
Этот коммит содержится в:
Doug Lauder
2024-04-03 11:49:26 -04:00
коммит произвёл GitHub
родитель dc36e42448
Коммит f45fec784b
2 изменённых файлов: 25 добавлений и 24 удалений

Просмотреть файл

@@ -135,6 +135,8 @@ func (ps *PlatformService) ConfigureLogger(name string, logger *mlog.Logger, log
// Advanced logging is E20 only, however logging must be initialized before the license
// file is loaded. If no valid E20 license exists then advanced logging will be
// shutdown once license is loaded/checked.
var resultLevel = mlog.LvlInfo
var resultMsg string
var err error
var logConfigSrc config.LogConfigSrc
dsn := logSettings.GetAdvancedLoggingConfig()
@@ -143,9 +145,10 @@ func (ps *PlatformService) ConfigureLogger(name string, logger *mlog.Logger, log
if err != nil {
return fmt.Errorf("invalid config source for %s, %w", name, err)
}
ps.logger.Info("Loaded configuration for "+name, mlog.String("source", dsn))
resultMsg = fmt.Sprintf("Loaded Advanced Logging configuration for %s: %s", name, string(dsn))
} else {
ps.logger.Debug("Advanced logging config not provided for " + name)
resultLevel = mlog.LvlDebug
resultMsg = fmt.Sprintf("Advanced logging config not provided for %s", name)
}
cfg, err := config.MloggerConfigFromLoggerConfig(logSettings, logConfigSrc, getPath)
@@ -153,9 +156,15 @@ func (ps *PlatformService) ConfigureLogger(name string, logger *mlog.Logger, log
return fmt.Errorf("invalid config source for %s, %w", name, err)
}
// this will remove any existing targets and replace with those defined in cfg.
if err := logger.ConfigureTargets(cfg, nil); err != nil {
return fmt.Errorf("invalid config for %s, %w", name, err)
}
if resultMsg != "" {
ps.Log().Log(resultLevel, resultMsg)
}
return nil
}