diff options
author | Jason Song <i@wolfogre.com> | 2023-01-01 22:00:33 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-01 22:00:33 +0800 |
commit | f8e93ce4238253c01e3ca36c88eb59979be99d12 (patch) | |
tree | 73b9f510734bec5a443cca6fea5fd15fa01f1440 | |
parent | 9c8fc7f6773c71019365a0bb66f6686ba7420fb8 (diff) | |
download | gitea-f8e93ce4238253c01e3ca36c88eb59979be99d12.tar.gz gitea-f8e93ce4238253c01e3ca36c88eb59979be99d12.zip |
Reminder for no more logs to console (#22282)
Even if the log mode is `file`, there are still few logs printed to the
console at the very beginning.
That's fine but confusing. Someone will think the console is the only
place to find logs, and get nothing helpful. See
https://github.com/go-gitea/gitea/issues/22274#issuecomment-1367917717.
There should be a reminder that there are no more logs to the console.
And to avoid log loss, we should add configured loggers first, then
remove console logger if there's no `console` in the mode.
Tests with `MODE = file`:
Before:
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/210079862-d591677f-347e-46ed-a548-bb2ddbb0885c.png">
After:
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/210080002-d66cc418-6888-4909-b370-d03f5986ef41.png">
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: delvh <dev.lh@web.de>
-rw-r--r-- | modules/setting/log.go | 29 | ||||
-rw-r--r-- | routers/init.go | 1 |
2 files changed, 13 insertions, 17 deletions
diff --git a/modules/setting/log.go b/modules/setting/log.go index 7372fc998d..8a2d47eda7 100644 --- a/modules/setting/log.go +++ b/modules/setting/log.go @@ -284,8 +284,6 @@ func newRouterLogService() { } func newLogService() { - log.Info("Gitea v%s%s", AppVer, AppBuiltWith) - options := newDefaultLogOptions() options.bufferLength = Cfg.Section("log").Key("BUFFER_LEN").MustInt64(10000) EnableSSHLog = Cfg.Section("log").Key("ENABLE_SSH_LOG").MustBool(false) @@ -297,24 +295,14 @@ func newLogService() { sections := strings.Split(Cfg.Section("log").Key("MODE").MustString("console"), ",") useConsole := false - for i := 0; i < len(sections); i++ { - sections[i] = strings.TrimSpace(sections[i]) - if sections[i] == "console" { - useConsole = true - } - } - - if !useConsole { - err := log.DelLogger("console") - if err != nil { - log.Fatal("DelLogger: %v", err) - } - } - for _, name := range sections { - if len(name) == 0 { + name = strings.TrimSpace(name) + if name == "" { continue } + if name == "console" { + useConsole = true + } sec, err := Cfg.GetSection("log." + name + ".default") if err != nil { @@ -336,6 +324,13 @@ func newLogService() { AddLogDescription(log.DEFAULT, &description) + if !useConsole { + log.Info("According to the configuration, subsequent logs will not be printed to the console") + if err := log.DelLogger("console"); err != nil { + log.Fatal("Cannot delete console logger: %v", err) + } + } + // Finally redirect the default golog to here golog.SetFlags(0) golog.SetPrefix("") diff --git a/routers/init.go b/routers/init.go index 670191debc..61af512220 100644 --- a/routers/init.go +++ b/routers/init.go @@ -119,6 +119,7 @@ func GlobalInitInstalled(ctx context.Context) { log.Info("Log path: %s", setting.LogRootPath) log.Info("Configuration file: %s", setting.CustomConf) log.Info("Run Mode: %s", util.ToTitleCase(setting.RunMode)) + log.Info("Gitea v%s%s", setting.AppVer, setting.AppBuiltWith) // Setup i18n translation.InitLocales(ctx) |