diff options
author | sillyguodong <33891828+sillyguodong@users.noreply.github.com> | 2023-03-10 23:54:32 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-10 09:54:32 -0600 |
commit | 5155ec35c571de8df62318df78c78cebc20e1aa0 (patch) | |
tree | 637594f6e7459bfdc625f8dac679d050838a4750 /modules/setting/log.go | |
parent | cf29ee6dd290525635a0e1b823506e81f845b978 (diff) | |
download | gitea-5155ec35c571de8df62318df78c78cebc20e1aa0.tar.gz gitea-5155ec35c571de8df62318df78c78cebc20e1aa0.zip |
Parse external request id from request headers, and print it in access log (#22906)
Close: #22890.
---
### Configure in .ini file:
```ini
[log]
REQUEST_ID_HEADERS = X-Request-ID, X-Trace-Id
```
### Params in Request Header
```
X-Trace-ID: trace-id-1q2w3e4r
```
![image](https://user-images.githubusercontent.com/33891828/218665296-8fd19a0f-ada6-4236-8bdb-f99201c703e8.png)
### Log output:
![image](https://user-images.githubusercontent.com/33891828/218665225-cc242a57-4ffc-449a-a1f6-f45ded0ead60.png)
Diffstat (limited to 'modules/setting/log.go')
-rw-r--r-- | modules/setting/log.go | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/modules/setting/log.go b/modules/setting/log.go index 5448650aad..dabdb543ab 100644 --- a/modules/setting/log.go +++ b/modules/setting/log.go @@ -38,6 +38,7 @@ var Log struct { EnableAccessLog bool AccessLogTemplate string BufferLength int64 + RequestIDHeaders []string } // GetLogDescriptions returns a race safe set of descriptions @@ -153,6 +154,7 @@ func loadLogFrom(rootCfg ConfigProvider) { Log.AccessLogTemplate = sec.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}}"`, ) + Log.RequestIDHeaders = sec.Key("REQUEST_ID_HEADERS").Strings(",") // the `MustString` updates the default value, and `log.ACCESS` is used by `generateNamedLogger("access")` later _ = rootCfg.Section("log").Key("ACCESS").MustString("file") |