(msg string)
| 14 | } |
| 15 | |
| 16 | func Getcaller(msg string) string { |
| 17 | pc, _, _, ok := runtime.Caller(2) |
| 18 | if !ok { |
| 19 | return "[unkcal] " + msg |
| 20 | } |
| 21 | fp := runtime.FuncForPC(pc) |
| 22 | sb := strings.Builder{} |
| 23 | sb.WriteByte('[') |
| 24 | if fp == nil { |
| 25 | sb.WriteString(" unkfun]") |
| 26 | sb.WriteString(msg) |
| 27 | return sb.String() |
| 28 | } |
| 29 | n := fp.Name() |
| 30 | i := strings.LastIndex(n, "/") |
| 31 | if i > 0 && i < len(n) { |
| 32 | n = n[i+1:] |
| 33 | } |
| 34 | sb.WriteString(n) |
| 35 | sb.WriteString("] ") |
| 36 | sb.WriteString(msg) |
| 37 | return sb.String() |
| 38 | } |