fix: persist logs without caller path
Deploy olons-admin production / deploy (push) Successful in 6m0s

This commit is contained in:
Your Name
2026-10-19 00:17:48 +08:00
parent e3898b618c
commit 91fc53b20c
2 changed files with 32 additions and 1 deletions
+9 -1
View File
@@ -111,7 +111,7 @@ func LoggingServeLogHandler(ctx context.Context, in *glog.HandlerInput) {
data.LevelFormat = in.LevelFormat data.LevelFormat = in.LevelFormat
data.Content = in.Content data.Content = in.Content
data.Stack = gjson.New(charset.ParseStack(in.Stack)) data.Stack = gjson.New(charset.ParseStack(in.Stack))
data.Line = strings.TrimRight(in.CallerPath, ":") data.Line = normalizeServeLogLine(in.CallerPath)
data.TriggerNs = in.Time.UnixNano() data.TriggerNs = in.Time.UnixNano()
data.Status = consts.StatusEnabled data.Status = consts.StatusEnabled
@@ -135,6 +135,14 @@ func LoggingServeLogHandler(ctx context.Context, in *glog.HandlerInput) {
} }
} }
func normalizeServeLogLine(callerPath string) string {
line := strings.TrimRight(callerPath, ":")
if line == "" {
return "unknown"
}
return line
}
// InitTrace 初始化链路追踪 // InitTrace 初始化链路追踪
func InitTrace(ctx context.Context) { func InitTrace(ctx context.Context) {
if !g.Cfg().MustGet(ctx, "jaeger.switch").Bool() { if !g.Cfg().MustGet(ctx, "jaeger.switch").Bool() {
+23
View File
@@ -0,0 +1,23 @@
package global
import "testing"
func TestNormalizeServeLogLine(t *testing.T) {
tests := []struct {
name string
in string
want string
}{
{name: "preserves caller", in: "internal/cmd/cron.go:30:", want: "internal/cmd/cron.go:30"},
{name: "defaults empty caller", in: "", want: "unknown"},
{name: "defaults delimiter only caller", in: ":", want: "unknown"},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := normalizeServeLogLine(tt.in); got != tt.want {
t.Fatalf("normalizeServeLogLine(%q) = %q, want %q", tt.in, got, tt.want)
}
})
}
}