From 483d765146d18c86364555cfbb4ddd9967892b2f Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Thu, 19 Nov 2020 12:27:56 -0800 Subject: [PATCH] change file logging behaviour to use cwtch dir --- main.go | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/main.go b/main.go index 001158dd..d1654e9e 100644 --- a/main.go +++ b/main.go @@ -44,6 +44,19 @@ func init() { } func main() { + if os.Getenv("CWTCH_FOLDER") != "" { + the.CwtchDir = os.Getenv("CWTCH_FOLDER") + } else if runtime.GOOS == "android" { + the.CwtchDir = filepath.Join(androidBaseDir, "files") + } else { + usr, err := user.Current() + if err != nil { + log.Errorf("\nerror: could not load current user: %v\n", err) + os.Exit(1) + } + the.CwtchDir = filepath.Join(usr.HomeDir, ".cwtch") + } + // suppress event.NewMessageFromPeer so we can handle it ourselves peer.DefaultEventsToHandle = []event.Type{ event.EncryptedGroupMessage, @@ -54,26 +67,21 @@ func main() { event.NewGetValMessageFromPeer, } - logfileDefault := "" - if runtime.GOOS == "windows" { - logfileDefault = "cwtch_log.txt" - } + logfileDefault := "cwtch_log.txt" flagDebug := flag.Bool("debug", false, "turn on extra logging. WARNING: THIS MAY EXPOSE PRIVATE INFORMATION IN CONSOLE OUTPUT!") - flagLogFile := flag.String("logfile", logfileDefault, "specify a file name to log to. --console overrides") + flagLogFile := flag.Bool("logfile", false, "instead of console output, log to $HOME/.cwtch/"+logfileDefault) flagLocal := flag.Bool("local", false, "load user interface from the local folder \"qml\" instead of the built-in UI") flagService := flag.Bool("service", false, "run this process as an android service") flagClientUI := flag.Bool("clientui", false, "start the UI as a client of a service app instead of a full app") - flagConsole := flag.Bool("console", false, "on windows, force logging to console instead of file") flag.Parse() - if *flagLogFile != "" && !*flagConsole { - filelogger, err := log.NewFile(log.LevelInfo, *flagLogFile) + if *flagLogFile { + filelogger, err := log.NewFile(log.LevelInfo, filepath.Join(the.CwtchDir, logfileDefault)) if err == nil { log.SetStd(filelogger) } } - log.Infoln("ui main()\n") if *flagDebug { log.SetLevel(log.LevelDebug) @@ -93,18 +101,7 @@ func main() { log.ExcludeFromPattern("applications/auth.go") //log.ExcludeFromPattern("connections/engine.go") - if os.Getenv("CWTCH_FOLDER") != "" { - the.CwtchDir = os.Getenv("CWTCH_FOLDER") - } else if runtime.GOOS == "android" { - the.CwtchDir = filepath.Join(androidBaseDir, "files") - } else { - usr, err := user.Current() - if err != nil { - log.Errorf("\nerror: could not load current user: %v\n", err) - os.Exit(1) - } - the.CwtchDir = filepath.Join(usr.HomeDir, ".cwtch") - } + log.Infoln("ui main()") if buildVer == "" && os.Getenv("CWTCH_FOLDER") == "" { log.Infoln("Development build: using dev directory for dev profiles")