func SetupLogger()

in agent/logging/agent_logging.go [256:289]


func SetupLogger(agentConfig *config.AgentConfig) {
	log.SetFormatter(&log.TextFormatter{
		FullTimestamp:          true,
		DisableLevelTruncation: true,
	})

	if agentConfig != nil {
		agentWriter := newAgentLogWriter(*agentConfig)

		// We need file descriptors for the forked process output.  If we are
		// redirecting to a file, these file descriptors must also point to this
		// same logfile.  Not certain that we can update the file descriptors
		// once they are in use, so this constrains us to a copy/truncate log
		// rotation mechanism
		agentConfig.OutputFileDescriptors = agentWriter.GetOutputFileDescriptors()
		log.SetOutput(agentWriter)
	}

	var logLevel log.Level = log.InfoLevel
	switch agentConfig.EnvoyLogLevel {
	case "debug":
		logLevel = log.DebugLevel
	case "warn":
		logLevel = log.WarnLevel
	case "error":
		logLevel = log.ErrorLevel
	case "trace":
		logLevel = log.TraceLevel
	default:
		logLevel = log.InfoLevel
	}
	log.SetLevel(logLevel)
	log.SetFormatter(NewAgentLogFormatter())
}