func gatherKubernetesLogs()

in cli_tools/diagnostics/main_windows.go [308:347]


func gatherKubernetesLogs(logs chan logFolder, errs chan error) {
	roots := make([]string, 0)
	var err error
	_, err = os.Stat(k8sLogsRoot)
	if err == nil {
		roots = append(roots, k8sLogsRoot)
	} else if os.IsNotExist(err) {
		log.Printf("%s doesn't exists, no need to collect inside logs.\n", k8sLogsRoot)
	} else {
		log.Printf("unexpected error happened when check existence of %s: %v", k8sLogsRoot, err)
	}
	_, err = os.Stat(crashDump)
	if err == nil {
		roots = append(roots, crashDump)
	} else if os.IsNotExist(err) {
		log.Printf("%s doesn't exists, no need to collect.\n", crashDump)
	} else {
		log.Printf("unexpected error happened when check existence of %s: %v", crashDump, err)
	}
	// Collect the kubernetes logs and crash dump
	filePaths := make([]string, 0)
	if len(roots) > 0 {
		var ers []error
		filePaths, ers = collectFilePaths(roots)
		for _, err := range ers {
			errs <- err
		}
	}
	// Collect docker event logs
	_, err = exec.LookPath("docker")
	if err == nil {
		plainEvtLogPaths := getPlainEventLogs([]winEvt{
			{logName: "docker", fromProvider: true},
		}, errs)
		filePaths = append(filePaths, plainEvtLogPaths...)
	} else {
		log.Printf("Docker not installed, no docker logs.\n")
	}
	logs <- logFolder{"Kubernetes", filePaths}
}