MM-43077 Allow inline JSON in config.json for advanced logging config (#23324)
* add AdvancedLoggingJSON to LogSettings and deprecate AdvancedLoggingConfig * allow embedded JSON in config for advanced logging.
Этот коммит содержится в:
@@ -11,6 +11,7 @@ import (
|
||||
|
||||
"github.com/mattermost/mattermost-server/server/public/model"
|
||||
"github.com/mattermost/mattermost-server/server/public/shared/mlog"
|
||||
"github.com/mattermost/mattermost-server/server/public/utils"
|
||||
"github.com/mattermost/mattermost-server/server/v8/channels/audit"
|
||||
"github.com/mattermost/mattermost-server/server/v8/channels/store"
|
||||
"github.com/mattermost/mattermost-server/server/v8/config"
|
||||
@@ -109,14 +110,14 @@ func (s *Server) configureAudit(adt *audit.Audit, bAllowAdvancedLogging bool) er
|
||||
adt.OnError = s.onAuditError
|
||||
|
||||
var logConfigSrc config.LogConfigSrc
|
||||
dsn := *s.platform.Config().ExperimentalAuditSettings.AdvancedLoggingConfig
|
||||
if bAllowAdvancedLogging && dsn != "" {
|
||||
dsn := s.platform.Config().ExperimentalAuditSettings.GetAdvancedLoggingConfig()
|
||||
if bAllowAdvancedLogging && !utils.IsEmptyJSON(dsn) {
|
||||
var err error
|
||||
logConfigSrc, err = config.NewLogConfigSrc(dsn, s.platform.GetConfigStore())
|
||||
if err != nil {
|
||||
return fmt.Errorf("invalid config source for audit, %w", err)
|
||||
}
|
||||
mlog.Debug("Loaded audit configuration", mlog.String("source", dsn))
|
||||
mlog.Debug("Loaded audit configuration", mlog.String("source", string(dsn)))
|
||||
}
|
||||
|
||||
// ExperimentalAuditSettings provides basic file audit (E0, E10); logConfigSrc provides advanced config (E20).
|
||||
|
||||
@@ -19,6 +19,7 @@ import (
|
||||
|
||||
"github.com/mattermost/mattermost-server/server/public/model"
|
||||
"github.com/mattermost/mattermost-server/server/public/shared/mlog"
|
||||
"github.com/mattermost/mattermost-server/server/public/utils"
|
||||
"github.com/mattermost/mattermost-server/server/v8/channels/product"
|
||||
"github.com/mattermost/mattermost-server/server/v8/channels/store"
|
||||
"github.com/mattermost/mattermost-server/server/v8/config"
|
||||
@@ -120,14 +121,14 @@ func (ps *PlatformService) ConfigureLogger(name string, logger *mlog.Logger, log
|
||||
// file is loaded. If no valid E20 license exists then advanced logging will be
|
||||
// shutdown once license is loaded/checked.
|
||||
var err error
|
||||
dsn := *logSettings.AdvancedLoggingConfig
|
||||
var logConfigSrc config.LogConfigSrc
|
||||
if dsn != "" {
|
||||
dsn := logSettings.GetAdvancedLoggingConfig()
|
||||
if !utils.IsEmptyJSON(dsn) {
|
||||
logConfigSrc, err = config.NewLogConfigSrc(dsn, ps.configStore)
|
||||
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))
|
||||
ps.logger.Info("Loaded configuration for "+name, mlog.String("source", string(dsn)))
|
||||
}
|
||||
|
||||
cfg, err := config.MloggerConfigFromLoggerConfig(logSettings, logConfigSrc, getPath)
|
||||
|
||||
Ссылка в новой задаче
Block a user