From cb092366f3a934dd000f1ef03b06d8103e7abbe2 Mon Sep 17 00:00:00 2001 From: NearlOfficial <63549759+NearlOfficial@users.noreply.github.com> Date: Fri, 17 Mar 2023 18:38:45 +0800 Subject: [PATCH] checkUpdateBtn fix bug (#6) Co-authored-by: NearlOfficial --- adapters/logger/logger.go | 4 ++-- adapters/logger/logrus.go | 11 +++++++++-- gui/config_basic.go | 12 +++++++----- gui/gui.go | 1 + main.go | 4 +++- 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/adapters/logger/logger.go b/adapters/logger/logger.go index 69c1d9f..8153d7e 100644 --- a/adapters/logger/logger.go +++ b/adapters/logger/logger.go @@ -8,6 +8,6 @@ type LoggerFactory struct { LiveClients map[string]adapter.LiveClientCtor } -func (f *LoggerFactory) NewLogrus(filename string, redirectStderr bool) adapter.ILogger { - return NewLogrusLogger(filename, redirectStderr) +func (f *LoggerFactory) NewLogrus(filename string, redirectStderr bool, maxSize int64) adapter.ILogger { + return NewLogrusLogger(filename, redirectStderr, maxSize) } diff --git a/adapters/logger/logrus.go b/adapters/logger/logrus.go index 0f91778..8782d2d 100644 --- a/adapters/logger/logrus.go +++ b/adapters/logger/logrus.go @@ -29,7 +29,7 @@ func (l *LogrusLogger) SetLogLevel(level adapter.LogLevel) { } } -func NewLogrusLogger(fileName string, redirectStderr bool) *LogrusLogger { +func NewLogrusLogger(fileName string, redirectStderr bool, maxSize int64) *LogrusLogger { l := logrus.New() l.SetFormatter( &nested.Formatter{ @@ -40,7 +40,14 @@ func NewLogrusLogger(fileName string, redirectStderr bool) *LogrusLogger { var file *os.File var err error if fileName != "" { - file, err = os.OpenFile(fileName, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) + fi, err := os.Stat(fileName) + if err != nil { + file, err = os.OpenFile(fileName, os.O_CREATE|os.O_WRONLY, 0666) + } else if fi.Size() > maxSize*1024*1024 { + file, err = os.OpenFile(fileName, os.O_TRUNC|os.O_WRONLY, 0666) + } else { + file, err = os.OpenFile(fileName, os.O_WRONLY|os.O_APPEND, 0666) + } if err == nil { l.Out = io.MultiWriter(file, os.Stdout) } else { diff --git a/gui/config_basic.go b/gui/config_basic.go index 71187c4..f7f2bbe 100644 --- a/gui/config_basic.go +++ b/gui/config_basic.go @@ -94,11 +94,13 @@ func (b *bascicConfig) CreatePanel() fyne.CanvasObject { showDialogIfError(err) return } - dialog.ShowCustom( - i18n.T("gui.update.new_version"), - "OK", - widget.NewRichTextFromMarkdown(API.App().LatestVersion().Info), - MainWindow) + if API.App().LatestVersion().Version > API.App().Version().Version { + dialog.ShowCustom( + i18n.T("gui.update.new_version"), + "OK", + widget.NewRichTextFromMarkdown(API.App().LatestVersion().Info), + MainWindow) + } }) b.panel = container.NewVBox(randomPlaylist, outputDevice, skipPlaylist, skipWhenErr, checkUpdateBox, checkUpdateBtn) return b.panel diff --git a/gui/gui.go b/gui/gui.go index 30581cf..ea13278 100644 --- a/gui/gui.go +++ b/gui/gui.go @@ -104,6 +104,7 @@ func checkUpdate() { l().Info("checking updates...") err := API.App().CheckUpdate() if err != nil { + showDialogIfError(err) l().Warnf("check update failed", err) return } diff --git a/main.go b/main.go index 97842bc..17ebd3e 100644 --- a/main.go +++ b/main.go @@ -24,6 +24,7 @@ type _LogConfig struct { Path string Level adapter.LogLevel RedirectStderr bool + MaxSize int64 } func (c *_LogConfig) Name() string { @@ -34,6 +35,7 @@ var Log = &_LogConfig{ Path: "./log.txt", Level: adapter.LogLevelInfo, RedirectStderr: false, // this should be true if it is in production mode. + MaxSize: 5, } func createController(log adapter.ILogger) adapter.IControlBridge { @@ -59,7 +61,7 @@ func main() { config.LoadFromFile(config.ConfigPath) config.LoadConfig(Log) i18n.LoadLanguage(config.General.Language) - log := adapters.Logger.NewLogrus(Log.Path, Log.RedirectStderr) + log := adapters.Logger.NewLogrus(Log.Path, Log.RedirectStderr, Log.MaxSize) log.SetLogLevel(Log.Level) log.Info("================Program Start================") log.Infof("================Current Version: %s================", config.Version)