diff --git a/.gitignore b/.gitignore index dfeb799..2b51deb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .idea .indihub-agent indihub.json +*.log bin/ diff --git a/main.go b/main.go index 7dd6bc6..f6d0f4f 100644 --- a/main.go +++ b/main.go @@ -43,6 +43,7 @@ var ( flagAPIPort uint64 flagAPIOrigins string flagMode string + flagLogFile string indiServerAddr string @@ -123,11 +124,27 @@ robotic - equipment sharing is not possible, your equipment is controlled by IND "", "comma-separated list of origins allowed to connect to API-server", ) + flag.StringVar( + &flagLogFile, + "log-file", + "", + "path to log file (STDOUT by default)", + ) } func main() { flag.Parse() + if flagLogFile != "" { + // redirect log output to file + logFile, err := os.OpenFile(flagLogFile, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666) + if err != nil { + log.Fatalf("error opening log file '%s': %s\n", flagLogFile, err) + } + defer logFile.Close() + log.SetOutput(logFile) + } + if flagMode != lib.ModeSolo && flagMode != lib.ModeShare && flagMode != lib.ModeRobotic { log.Fatalf("Unknown mode '%s' provided\n", flagMode) } diff --git a/version/version.go b/version/version.go index e28e417..610c996 100644 --- a/version/version.go +++ b/version/version.go @@ -10,9 +10,9 @@ var AgentVersion = "1.0.4" func CheckAgentVersion(latestVer string) { log.Println("Current agent version:", AgentVersion) - log.Println("Latest agent version:", latestVer) if AgentVersion < latestVer { + log.Println("Latest agent version:", latestVer) yc := color.New(color.FgYellow) yc.Println() yc.Println(" ************************************************************")