mirror of
https://github.com/go-gitea/gitea
synced 2025-07-22 18:28:37 +00:00
Add auto logging of goroutine pid label (#19212)
* Add auto logging of goroutine pid label This PR uses unsafe to export the hidden runtime_getProfLabel function from the runtime package and then casts the result to a map[string]string. We can then interrogate this map to get the pid label from the goroutine allowing us to log it with any logging request. Reference #19202 Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
@@ -72,6 +72,13 @@ func (l *MultiChannelledLogger) Log(skip int, level Level, format string, v ...i
|
||||
if len(v) > 0 {
|
||||
msg = ColorSprintf(format, v...)
|
||||
}
|
||||
labels := getGoroutineLabels()
|
||||
if labels != nil {
|
||||
pid, ok := labels["pid"]
|
||||
if ok {
|
||||
msg = "[" + ColorString(FgHiYellow) + pid + ColorString(Reset) + "] " + msg
|
||||
}
|
||||
}
|
||||
stack := ""
|
||||
if l.GetStacktraceLevel() <= level {
|
||||
stack = Stack(skip + 1)
|
||||
|
Reference in New Issue
Block a user