| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- // Code scaffolded by goctl. Safe to edit.
- // goctl 1.10.2
- package systemlog
- import (
- "context"
- "udeServer/internal/apierr"
- "udeServer/internal/log"
- "udeServer/internal/svc"
- "udeServer/internal/types"
- "github.com/zeromicro/go-zero/core/logx"
- )
- type LogLinkLogic struct {
- logx.Logger
- ctx context.Context
- svcCtx *svc.ServiceContext
- }
- // 查看完整链路
- func NewLogLinkLogic(ctx context.Context, svcCtx *svc.ServiceContext) *LogLinkLogic {
- return &LogLinkLogic{
- Logger: logx.WithContext(ctx),
- ctx: ctx,
- svcCtx: svcCtx,
- }
- }
- // LogLink returns every log entry of one trace, ordered for display.
- func (l *LogLinkLogic) LogLink(req *types.SystemLogLinkReq) (*types.SystemLogLinkResp, error) {
- if req.TraceId == "" {
- return nil, apierr.BadRequest("traceId 不能为空")
- }
- list, err := l.svcCtx.SystemLogModel.FindByTraceId(l.ctx, req.TraceId)
- if err != nil {
- log.RecordError(l.ctx, err)
- return nil, apierr.New(500, "查询日志链路失败")
- }
- logs := make([]types.SystemLog, len(list))
- for i := range list {
- logs[i] = ConvertToSystemLog(&list[i])
- }
- return &types.SystemLogLinkResp{LogLinks: logs}, nil
- }
|