Allow log.xxx.default to set logging settings for the default logger only (#11292)

* Allow log.xxx.default to set logging settings for the default logger only

Signed-off-by: Andrew Thornton <art27@cantab.net>

* Update modules/setting/log.go

* as per @silverwind add some documentation

Signed-off-by: Andrew Thornton <art27@cantab.net>

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
zeripath 2020-05-16 03:38:52 +01:00 committed by GitHub
parent 1d54479585
commit 0052d788da
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 4 deletions

View file

@ -48,8 +48,10 @@ Calls to `log.Info`, `log.Debug`, `log.Error` etc. from the `code.gitea.io/gitea
You can configure the outputs of this logger by setting the `MODE` You can configure the outputs of this logger by setting the `MODE`
value in the `[log]` section of the configuration. value in the `[log]` section of the configuration.
Each output sublogger is configured in a separate `[log.sublogger]` Each output sublogger is configured in a separate `[log.sublogger.default]`
section, but there are certain default values. These will not be inherited from the `[log]` section: which inherits from the sublogger `[log.sublogger]` section and from the
generic `[log]` section, but there are certain default values. These will
not be inherited from the `[log]` section:
* `FLAGS` is `stdflags` (Equal to * `FLAGS` is `stdflags` (Equal to
`date,time,medfile,shortfuncname,levelinitial`) `date,time,medfile,shortfuncname,levelinitial`)
@ -70,6 +72,9 @@ section which you can configure the outputs of by setting the `MACARON`
value in the `[log]` section of the configuration. `MACARON` defaults value in the `[log]` section of the configuration. `MACARON` defaults
to `file` if unset. to `file` if unset.
Please note, the macaron logger will log at `INFO` level, setting the
`LEVEL` of this logger to `WARN` or above will result in no macaron logs.
Each output sublogger for this logger is configured in Each output sublogger for this logger is configured in
`[log.sublogger.macaron]` sections. There are certain default values `[log.sublogger.macaron]` sections. There are certain default values
which will not be inherited from the `[log]` or relevant which will not be inherited from the `[log]` or relevant
@ -98,6 +103,9 @@ Router logs the same data as the Macaron log but has slightly different
coloring. It logs at the `Info` level by default, but this can be coloring. It logs at the `Info` level by default, but this can be
changed if desired by setting the `ROUTER_LOG_LEVEL` value. changed if desired by setting the `ROUTER_LOG_LEVEL` value.
Please note, setting the `LEVEL` of this logger to a level above
`ROUTER_LOG_LEVEL` will result in no router logs.
Each output sublogger for this logger is configured in Each output sublogger for this logger is configured in
`[log.sublogger.router]` sections. There are certain default values `[log.sublogger.router]` sections. There are certain default values
which will not be inherited from the `[log]` or relevant which will not be inherited from the `[log]` or relevant
@ -136,6 +144,9 @@ which will not be inherited from the `[log]` or relevant
If desired the format of the Access logger can be changed by changing If desired the format of the Access logger can be changed by changing
the value of the `ACCESS_LOG_TEMPLATE`. the value of the `ACCESS_LOG_TEMPLATE`.
Please note, the access logger will log at `INFO` level, setting the
`LEVEL` of this logger to `WARN` or above will result in no access logs.
NB: You can redirect the access logger to send its events to the Gitea NB: You can redirect the access logger to send its events to the Gitea
log using the value: `ACCESS = ,` log using the value: `ACCESS = ,`

View file

@ -261,10 +261,13 @@ func newLogService() {
continue continue
} }
sec, err := Cfg.GetSection("log." + name) sec, err := Cfg.GetSection("log." + name + ".default")
if err != nil {
sec, err = Cfg.GetSection("log." + name)
if err != nil { if err != nil {
sec, _ = Cfg.NewSection("log." + name) sec, _ = Cfg.NewSection("log." + name)
} }
}
provider, config, levelName := generateLogConfig(sec, name, options) provider, config, levelName := generateLogConfig(sec, name, options)
log.NewLogger(options.bufferLength, name, provider, config) log.NewLogger(options.bufferLength, name, provider, config)