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}
}