aboutsummaryrefslogtreecommitdiffstats
path: root/modules/setting
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2022-01-20 19:41:25 +0800
committerGitHub <noreply@github.com>2022-01-20 19:41:25 +0800
commit5bf8d5445e3e3ec6b2be156654dcb233d78a570e (patch)
tree9a426fd03b619947b88931465c1a645540b94bfb /modules/setting
parentbbd30787d3d33fe66896c7e758e6922be459e252 (diff)
downloadgitea-5bf8d5445e3e3ec6b2be156654dcb233d78a570e.tar.gz
gitea-5bf8d5445e3e3ec6b2be156654dcb233d78a570e.zip
Refactor Router Logger (#17308)
Make router logger more friendly, show the related function name/file/line. [BREAKING] This PR substantially changes the logging format of the router logger. If you use this logging for monitoring e.g. fail2ban you will need to update this to match the new format.
Diffstat (limited to 'modules/setting')
-rw-r--r--modules/setting/log.go7
-rw-r--r--modules/setting/setting.go10
2 files changed, 10 insertions, 7 deletions
diff --git a/modules/setting/log.go b/modules/setting/log.go
index b0ae5fb646..a53b431196 100644
--- a/modules/setting/log.go
+++ b/modules/setting/log.go
@@ -126,6 +126,7 @@ func getStacktraceLogLevel(section *ini.Section, key, defaultValue string) strin
func generateLogConfig(sec *ini.Section, name string, defaults defaultLogOptions) (mode, jsonConfig, levelName string) {
level := getLogLevel(sec, "LEVEL", LogLevel)
+ levelName = level.String()
stacktraceLevelName := getStacktraceLogLevel(sec, "STACKTRACE_LEVEL", StacktraceLogLevel)
stacktraceLevel := log.FromString(stacktraceLevelName)
mode = name
@@ -254,8 +255,10 @@ func generateNamedLogger(key string, options defaultLogOptions) *LogDescription
func newAccessLogService() {
EnableAccessLog = Cfg.Section("log").Key("ENABLE_ACCESS_LOG").MustBool(false)
AccessLogTemplate = Cfg.Section("log").Key("ACCESS_LOG_TEMPLATE").MustString(
- `{{.Ctx.RemoteAddr}} - {{.Identity}} {{.Start.Format "[02/Jan/2006:15:04:05 -0700]" }} "{{.Ctx.Req.Method}} {{.Ctx.Req.URL.RequestURI}} {{.Ctx.Req.Proto}}" {{.ResponseWriter.Status}} {{.ResponseWriter.Size}} "{{.Ctx.Req.Referer}}\" \"{{.Ctx.Req.UserAgent}}"`)
- Cfg.Section("log").Key("ACCESS").MustString("file")
+ `{{.Ctx.RemoteAddr}} - {{.Identity}} {{.Start.Format "[02/Jan/2006:15:04:05 -0700]" }} "{{.Ctx.Req.Method}} {{.Ctx.Req.URL.RequestURI}} {{.Ctx.Req.Proto}}" {{.ResponseWriter.Status}} {{.ResponseWriter.Size}} "{{.Ctx.Req.Referer}}\" \"{{.Ctx.Req.UserAgent}}"`,
+ )
+ // the `MustString` updates the default value, and `log.ACCESS` is used by `generateNamedLogger("access")` later
+ _ = Cfg.Section("log").Key("ACCESS").MustString("file")
if EnableAccessLog {
options := newDefaultLogOptions()
options.filename = filepath.Join(LogRootPath, "access.log")
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index abd6716c74..26eeda525f 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -333,13 +333,14 @@ var (
LogLevel log.Level
StacktraceLogLevel string
LogRootPath string
- DisableRouterLog bool
- RouterLogLevel log.Level
- EnableAccessLog bool
EnableSSHLog bool
- AccessLogTemplate string
EnableXORMLog bool
+ DisableRouterLog bool
+
+ EnableAccessLog bool
+ AccessLogTemplate string
+
// Time settings
TimeFormat string
// UILocation is the location on the UI, so that we can display the time on UI.
@@ -601,7 +602,6 @@ func loadFromConf(allowEmpty bool, extraConfig string) {
StacktraceLogLevel = getStacktraceLogLevel(Cfg.Section("log"), "STACKTRACE_LEVEL", "None")
LogRootPath = Cfg.Section("log").Key("ROOT_PATH").MustString(path.Join(AppWorkPath, "log"))
forcePathSeparator(LogRootPath)
- RouterLogLevel = log.FromString(Cfg.Section("log").Key("ROUTER_LOG_LEVEL").MustString("Info"))
sec := Cfg.Section("server")
AppName = Cfg.Section("").Key("APP_NAME").MustString("Gitea: Git with a cup of tea")