]> git.r.bdr.sh - rbdr/mobius/commitdiff
Minor cleanup
authorJeff Halter <redacted>
Sun, 25 Jul 2021 17:26:59 +0000 (10:26 -0700)
committerJeff Halter <redacted>
Sun, 25 Jul 2021 17:26:59 +0000 (10:26 -0700)
client.go
client/main.go

index de2844313e2d3b10d81d5b91a0d6046e706eb29c..11f42326ace60acc82fae9e407186c77e8746ebc 100644 (file)
--- a/client.go
+++ b/client.go
@@ -435,8 +435,6 @@ func (ui *UI) Start() {
                        ui.Pages.AddAndSwitchToPage("trackerList", ui.trackerList, true)
                }).
                AddItem("Settings", "", 's', func() {
                        ui.Pages.AddAndSwitchToPage("trackerList", ui.trackerList, true)
                }).
                AddItem("Settings", "", 's', func() {
-                       //ui.Pages.AddPage("settings", ui.renderSettingsForm(), true, false)
-
                        ui.Pages.AddPage("settings", ui.renderSettingsForm(), true, true)
                }).
                AddItem("Quit", "", 'q', func() {
                        ui.Pages.AddPage("settings", ui.renderSettingsForm(), true, true)
                }).
                AddItem("Quit", "", 'q', func() {
@@ -454,12 +452,10 @@ func (ui *UI) Start() {
                }
                // Show Logs
                if event.Key() == tcell.KeyCtrlL {
                }
                // Show Logs
                if event.Key() == tcell.KeyCtrlL {
-                       //curPage, _ := ui.Pages.GetFrontPage()
                        ui.HLClient.DebugBuf.TextView.ScrollToEnd()
                        ui.HLClient.DebugBuf.TextView.SetBorder(true).SetTitle("Logs")
                        ui.HLClient.DebugBuf.TextView.SetDoneFunc(func(key tcell.Key) {
                                if key == tcell.KeyEscape {
                        ui.HLClient.DebugBuf.TextView.ScrollToEnd()
                        ui.HLClient.DebugBuf.TextView.SetBorder(true).SetTitle("Logs")
                        ui.HLClient.DebugBuf.TextView.SetDoneFunc(func(key tcell.Key) {
                                if key == tcell.KeyEscape {
-                                       //ui.Pages.SwitchToPage("serverUI")
                                        ui.Pages.RemovePage("logs")
                                }
                        })
                                        ui.Pages.RemovePage("logs")
                                }
                        })
@@ -470,7 +466,8 @@ func (ui *UI) Start() {
        })
 
        if err := ui.App.SetRoot(ui.Pages, true).SetFocus(ui.Pages).Run(); err != nil {
        })
 
        if err := ui.App.SetRoot(ui.Pages, true).SetFocus(ui.Pages).Run(); err != nil {
-               panic(err)
+               ui.App.Stop()
+               os.Exit(1)
        }
 }
 
        }
 }
 
index a761404dc4766b7623db4b19a37602de94e82a8f..6008cad5ac67c20bcd57133a12c4ec4f954aab2e 100644 (file)
@@ -8,18 +8,12 @@ import (
        "github.com/rivo/tview"
        "go.uber.org/zap"
        "go.uber.org/zap/zapcore"
        "github.com/rivo/tview"
        "go.uber.org/zap"
        "go.uber.org/zap/zapcore"
+       "log"
        "os"
        "os/signal"
        "syscall"
        "os"
        "os/signal"
        "syscall"
-       "time"
 )
 
 )
 
-//var defaultTrackerList = []string{
-//     "hltracker.com:5498",
-//}
-
-const connectTimeout = 3 * time.Second
-
 func main() {
        _, cancelRoot := context.WithCancel(context.Background())
 
 func main() {
        _, cancelRoot := context.WithCancel(context.Background())
 
@@ -28,10 +22,8 @@ func main() {
 
        version := flag.Bool("version", false, "print version and exit")
        logLevel := flag.String("log-level", "info", "Log level")
 
        version := flag.Bool("version", false, "print version and exit")
        logLevel := flag.String("log-level", "info", "Log level")
-       userName := flag.String("name", "unnamed", "User name")
-       //srvAddr := flag.String("server", "localhost:5500", "Hostname/Port of server")
-       //login := flag.String("login", "guest", "Login Name")
-       //pass := flag.String("password", "", "Login Password")
+       logFile := flag.String("log-file", "", "output logs to file")
+
        flag.Parse()
 
        if *version {
        flag.Parse()
 
        if *version {
@@ -50,10 +42,22 @@ func main() {
                TextView: tview.NewTextView(),
        }
 
                TextView: tview.NewTextView(),
        }
 
-       cores := []zapcore.Core{
-               newDebugCore(zapLvl, db),
-               //newStderrCore(zapLvl),
+       cores := []zapcore.Core{newZapCore(zapLvl, db)}
+
+       // Add file logger if optional log-file flag was passed
+       if *logFile != "" {
+               f, err := os.OpenFile(*logFile,
+                       os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
+               if err != nil {
+                       log.Println(err)
+               }
+               defer f.Close()
+               if err != nil {
+                       panic(err)
+               }
+               cores = append(cores, newZapCore(zapLvl, f))
        }
        }
+
        l := zap.New(zapcore.NewTee(cores...))
        defer func() { _ = l.Sync() }()
        logger := l.Sugar()
        l := zap.New(zapcore.NewTee(cores...))
        defer func() { _ = l.Sync() }()
        logger := l.Sugar()
@@ -65,32 +69,20 @@ func main() {
                cancelRoot()
        }()
 
                cancelRoot()
        }()
 
-       client := hotline.NewClient(*userName, logger)
+       client := hotline.NewClient("", logger)
        client.DebugBuf = db
        client.UI.Start()
 
 }
 
        client.DebugBuf = db
        client.UI.Start()
 
 }
 
-func newDebugCore(level zapcore.Level, db *hotline.DebugBuffer) zapcore.Core {
-       encoderCfg := zap.NewProductionEncoderConfig()
-       encoderCfg.TimeKey = "timestamp"
-       encoderCfg.EncodeTime = zapcore.ISO8601TimeEncoder
-
-       return zapcore.NewCore(
-               zapcore.NewConsoleEncoder(encoderCfg),
-               zapcore.Lock(db),
-               level,
-       )
-}
-
-func newStderrCore(level zapcore.Level) zapcore.Core {
+func newZapCore(level zapcore.Level, syncer zapcore.WriteSyncer) zapcore.Core {
        encoderCfg := zap.NewProductionEncoderConfig()
        encoderCfg.TimeKey = "timestamp"
        encoderCfg.EncodeTime = zapcore.ISO8601TimeEncoder
 
        return zapcore.NewCore(
                zapcore.NewConsoleEncoder(encoderCfg),
        encoderCfg := zap.NewProductionEncoderConfig()
        encoderCfg.TimeKey = "timestamp"
        encoderCfg.EncodeTime = zapcore.ISO8601TimeEncoder
 
        return zapcore.NewCore(
                zapcore.NewConsoleEncoder(encoderCfg),
-               zapcore.Lock(os.Stderr),
+               zapcore.Lock(syncer),
                level,
        )
 }
                level,
        )
 }