From f7c8092aee2531450516a65579147b61d4782863 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=9F=E5=B8=85?= <133814250@qq.com> Date: Thu, 11 May 2023 15:53:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=9D=9Edebug=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E7=94=A8=E6=88=B7=E4=B8=8D=E5=8F=AF=E8=A7=81=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/internal/consts/error.go | 21 +++++++++++++++++++- server/internal/logic/middleware/response.go | 4 +++- server/internal/logic/sys/log.go | 2 +- server/internal/logic/tcpclient/cron.go | 2 +- 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/server/internal/consts/error.go b/server/internal/consts/error.go index 3d82248..bac9989 100644 --- a/server/internal/consts/error.go +++ b/server/internal/consts/error.go @@ -3,12 +3,31 @@ // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE -// package consts +import "github.com/gogf/gf/v2/text/gstr" + // 错误解释 const ( ErrorORM = "sql执行异常" ErrorNotData = "数据不存在" ErrorRotaPointer = "指针转换异常" ) + +// 需要隐藏真实错误的Wrap,开启访问日志后仍然会将真实错误记录 +var concealErrorSlice = []string{ErrorORM, ErrorNotData, ErrorRotaPointer} + +// ErrorMessage 错误显示信息,非debug模式有效 +func ErrorMessage(err error) (message string) { + if err == nil { + return "操作失败!~" + } + + message = err.Error() + for _, e := range concealErrorSlice { + if gstr.Contains(message, e) { + return "操作失败,请稍后重试!~" + } + } + return +} diff --git a/server/internal/logic/middleware/response.go b/server/internal/logic/middleware/response.go index 1ad9970..ede181f 100644 --- a/server/internal/logic/middleware/response.go +++ b/server/internal/logic/middleware/response.go @@ -104,11 +104,13 @@ func responseJson(r *ghttp.Request) { g.Log().Warningf(ctx, "exception:%v", err) code = gerror.Code(err).Code() - message = err.Error() // 是否输出错误到页面 if g.Cfg().MustGet(ctx, "hotgo.debug", true).Bool() { + message = err.Error() data = charset.ParseErrStack(err) + } else { + message = consts.ErrorMessage(err) } } else { data = r.GetHandlerResponse() diff --git a/server/internal/logic/sys/log.go b/server/internal/logic/sys/log.go index 7216421..08e346d 100644 --- a/server/internal/logic/sys/log.go +++ b/server/internal/logic/sys/log.go @@ -197,7 +197,7 @@ func (s *sSysLog) AnalysisLog(ctx context.Context) entity.SysLog { ipData, err := location.GetLocation(ctx, clientIp) if err != nil { - g.Log().Infof(ctx, "location.GetLocation clientIp:%v, err:%+v", clientIp, err) + g.Log().Debugf(ctx, "location.GetLocation clientIp:%v, err:%+v", clientIp, err) } if ipData == nil { diff --git a/server/internal/logic/tcpclient/cron.go b/server/internal/logic/tcpclient/cron.go index 8a97d86..287d5fb 100644 --- a/server/internal/logic/tcpclient/cron.go +++ b/server/internal/logic/tcpclient/cron.go @@ -31,7 +31,7 @@ func (s *sCronClient) Start(ctx context.Context) { return } - if config.Client == nil || config.Client.Cron == nil { + if config == nil || config.Client == nil || config.Client.Cron == nil { g.Log().Errorf(ctx, "CronClient config is invalid") return }