func getGlobalArgs()

in args.go [31:72]


func getGlobalArgs() (*logger.GlobalArgs, error) {
	containerID, err := getRequiredValue(containerIDKey)
	if err != nil {
		return nil, err
	}
	containerName, err := getRequiredValue(containerNameKey)
	if err != nil {
		return nil, err
	}
	logDriver, err := getRequiredValue(logDriverTypeKey)
	if err != nil {
		return nil, err
	}
	mode, maxBufferSize, err := getModeAndMaxBufferSize()
	if err != nil {
		return nil, fmt.Errorf("unable to get value of flag %s and %s: %w", modeKey, maxBufferSizeKey, err)
	}
	cleanupTime, err := getCleanupTime()
	if err != nil {
		return nil, err
	}

	if debug.Verbose {
		debug.SendEventsToLog(logger.DaemonName,
			fmt.Sprintf("Container ID: %s, Container Name: %s, log driver: %s, mode: %s, max buffer size: %d",
				containerID, containerName, logDriver, mode, maxBufferSize),
			debug.DEBUG, 0)
	}

	args := &logger.GlobalArgs{
		ContainerID:   containerID,
		ContainerName: containerName,
		LogDriver:     logDriver,
		Mode:          mode,
		MaxBufferSize: maxBufferSize,
		UID:           viper.GetInt(uidKey),
		GID:           viper.GetInt(gidKey),
		CleanupTime:   cleanupTime,
	}

	return args, nil
}