func buildLoggingConfig()

in internal/beatcmd/logging.go [34:61]


func buildLoggingConfig(cfg *Config, env logp.Environment, stderr bool, debugSelectors []string, opts ...logp.Option) (logp.Config, error) {
	logpConfig := logp.DefaultConfig(env)
	logpConfig.Beat = "apm-server"
	if cfg.Logging != nil {
		if err := cfg.Logging.Unpack(&logpConfig); err != nil {
			return logpConfig, err
		}
	}

	// Apply command line flags to the logging configuration.
	if logpConfig.Level > logp.InfoLevel && logVerbose {
		logpConfig.Level = logp.InfoLevel
	}
	if len(debugSelectors) > 0 {
		for _, selectors := range debugSelectors {
			logpConfig.Selectors = append(logpConfig.Selectors, strings.Split(selectors, ",")...)
		}
		logpConfig.Level = logp.DebugLevel
	}
	if stderr {
		logpConfig.ToStderr = true
	}
	for _, opt := range opts {
		opt(&logpConfig)
	}

	return logpConfig, nil
}