From 01b599cc0c1e536e045580553f68dc75c0d2d00d Mon Sep 17 00:00:00 2001 From: ziming Date: Wed, 18 Jun 2025 10:39:30 +0800 Subject: [PATCH] =?UTF-8?q?log=20=E5=A2=9E=E5=8A=A0=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E8=8E=B7=E5=8F=96=E8=B0=83=E7=94=A8=E6=A0=88?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/biz/cron_notice.go | 5 +++-- internal/pkg/timeslice/manager.go | 6 +++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/internal/biz/cron_notice.go b/internal/biz/cron_notice.go index 8d062a8..100e37a 100644 --- a/internal/biz/cron_notice.go +++ b/internal/biz/cron_notice.go @@ -116,7 +116,8 @@ func (v *VoucherBiz) timeSliceQuery(ctx context.Context, startTime, endTime time defer func() { if err := recover(); err != nil { - log.Errorf("订单定时通知,发生错误:req:%+v,err:%v", req, err) + _, file, line, _ := runtime.Caller(1) // 1 表示获取当前调用者的调用信息 + log.Errorf("订单定时通知,发生错误:req:%+v,err:%v,file:%s,line:%d", req, err, file, line) } }() @@ -213,7 +214,7 @@ func (v *VoucherBiz) request(ctx context.Context, order *bo.OrderBo, notify *bo. defer func() { if err := recover(); err != nil { _, file, line, _ := runtime.Caller(1) // 1 表示获取当前调用者的调用信息 - respErr = fmt.Errorf("panic:%v, orderNo:%s, file:%s, line:%d", err, order.OrderNo, file, line) + respErr = fmt.Errorf("request panic:%v, orderNo:%s, file:%s, line:%d", err, order.OrderNo, file, line) } }() diff --git a/internal/pkg/timeslice/manager.go b/internal/pkg/timeslice/manager.go index 6ca40b0..1746d6a 100644 --- a/internal/pkg/timeslice/manager.go +++ b/internal/pkg/timeslice/manager.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/hashicorp/go-multierror" "golang.org/x/sync/errgroup" + "runtime" "sync" "time" ) @@ -94,8 +95,11 @@ func (m *ManagerSrv) process(ctx context.Context, req *Process) error { defer func() { if err := recover(); err != nil { + // 获取调用栈信息 + _, file, line, _ := runtime.Caller(1) // 1 表示获取当前调用者的调用信息 + mu.Lock() - errs = append(errs, fmt.Errorf("任务 %d panic: %v", taskID, err)) + errs = append(errs, fmt.Errorf("任务 %d panic: %v,file:%s, line:%d", taskID, err, file, line)) mu.Unlock() } }()