Skip to content

Commit

Permalink
Reminder for no more logs to console (#22282)
Browse files Browse the repository at this point in the history
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
#22274 (comment).

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>
  • Loading branch information
3 people authored Jan 1, 2023
1 parent 9c8fc7f commit f8e93ce
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 17 deletions.
29 changes: 12 additions & 17 deletions modules/setting/log.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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 {
Expand All @@ -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("")
Expand Down
1 change: 1 addition & 0 deletions routers/init.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit f8e93ce

Please sign in to comment.