节点日志可以使用标签筛选/级别可以填写多个,用逗号分隔

This commit is contained in:
GoEdgeLab
2022-01-03 11:04:14 +08:00
parent f349306460
commit 38ac06a530
2 changed files with 17 additions and 4 deletions

View File

@@ -142,7 +142,8 @@ func (this *NodeLogDAO) CountNodeLogs(tx *dbs.Tx,
dayTo string, dayTo string,
keyword string, keyword string,
level string, level string,
isUnread bool) (int64, error) { isUnread bool,
tag string) (int64, error) {
query := this.Query(tx) query := this.Query(tx)
if len(role) > 0 { if len(role) > 0 {
query.Attr("role", role) query.Attr("role", role)
@@ -181,6 +182,9 @@ func (this *NodeLogDAO) CountNodeLogs(tx *dbs.Tx,
if isUnread { if isUnread {
query.Attr("isRead", 0) query.Attr("isRead", 0)
} }
if len(tag) > 0 {
query.Like("tag", "%"+tag+"%")
}
return query.Count() return query.Count()
} }
@@ -198,6 +202,7 @@ func (this *NodeLogDAO) ListNodeLogs(tx *dbs.Tx,
level string, level string,
fixedState configutils.BoolState, fixedState configutils.BoolState,
isUnread bool, isUnread bool,
tag string,
offset int64, offset int64,
size int64) (result []*NodeLog, err error) { size int64) (result []*NodeLog, err error) {
query := this.Query(tx) query := this.Query(tx)
@@ -240,11 +245,19 @@ func (this *NodeLogDAO) ListNodeLogs(tx *dbs.Tx,
Param("keyword", "%"+keyword+"%") Param("keyword", "%"+keyword+"%")
} }
if len(level) > 0 { if len(level) > 0 {
query.Attr("level", level) var pieces = strings.Split(level, ",")
if len(pieces) == 1 {
query.Attr("level", pieces[0])
} else {
query.Attr("level", pieces)
}
} }
if isUnread { if isUnread {
query.Attr("isRead", 0) query.Attr("isRead", 0)
} }
if len(tag) > 0 {
query.Like("tag", "%"+tag+"%")
}
_, err = query. _, err = query.
Offset(offset). Offset(offset).
Limit(size). Limit(size).

View File

@@ -41,7 +41,7 @@ func (this *NodeLogService) CountNodeLogs(ctx context.Context, req *pb.CountNode
tx := this.NullTx() tx := this.NullTx()
count, err := models.SharedNodeLogDAO.CountNodeLogs(tx, req.Role, req.NodeId, req.ServerId, req.OriginId, req.DayFrom, req.DayTo, req.Keyword, req.Level, req.IsUnread) count, err := models.SharedNodeLogDAO.CountNodeLogs(tx, req.Role, req.NodeId, req.ServerId, req.OriginId, req.DayFrom, req.DayTo, req.Keyword, req.Level, req.IsUnread, req.Tag)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -57,7 +57,7 @@ func (this *NodeLogService) ListNodeLogs(ctx context.Context, req *pb.ListNodeLo
tx := this.NullTx() tx := this.NullTx()
logs, err := models.SharedNodeLogDAO.ListNodeLogs(tx, req.Role, req.NodeId, req.ServerId, req.OriginId, req.AllServers, req.DayFrom, req.DayTo, req.Keyword, req.Level, types.Int8(req.FixedState), req.IsUnread, req.Offset, req.Size) logs, err := models.SharedNodeLogDAO.ListNodeLogs(tx, req.Role, req.NodeId, req.ServerId, req.OriginId, req.AllServers, req.DayFrom, req.DayTo, req.Keyword, req.Level, types.Int8(req.FixedState), req.IsUnread, req.Tag, req.Offset, req.Size)
if err != nil { if err != nil {
return nil, err return nil, err
} }