mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-14 08:20:25 +08:00
可以修复单页或者全部服务日志
This commit is contained in:
@@ -59,7 +59,7 @@ func (this *NodeLogDAO) CreateLog(tx *dbs.Tx, nodeRole nodeconfigs.NodeRole, nod
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
hash := stringutil.Md5(nodeRole + "@" + types.String(nodeId) + "@" + types.String(serverId) + "@" + types.String(originId) + "@" + level + "@" + tag + "@" + description + "@" + string(paramsJSON))
|
var hash = stringutil.Md5(nodeRole + "@" + types.String(nodeId) + "@" + types.String(serverId) + "@" + types.String(originId) + "@" + level + "@" + tag + "@" + description + "@" + string(paramsJSON))
|
||||||
|
|
||||||
// 检查是否在重复最后一条,避免重复创建
|
// 检查是否在重复最后一条,避免重复创建
|
||||||
lastLog, err := this.Query(tx).
|
lastLog, err := this.Query(tx).
|
||||||
@@ -80,7 +80,7 @@ func (this *NodeLogDAO) CreateLog(tx *dbs.Tx, nodeRole nodeconfigs.NodeRole, nod
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
op := NewNodeLogOperator()
|
var op = NewNodeLogOperator()
|
||||||
op.Role = nodeRole
|
op.Role = nodeRole
|
||||||
op.NodeId = nodeId
|
op.NodeId = nodeId
|
||||||
op.ServerId = serverId
|
op.ServerId = serverId
|
||||||
@@ -139,13 +139,15 @@ func (this *NodeLogDAO) CountNodeLogs(tx *dbs.Tx,
|
|||||||
nodeId int64,
|
nodeId int64,
|
||||||
serverId int64,
|
serverId int64,
|
||||||
originId int64,
|
originId int64,
|
||||||
|
allServers bool,
|
||||||
dayFrom string,
|
dayFrom string,
|
||||||
dayTo string,
|
dayTo string,
|
||||||
keyword string,
|
keyword string,
|
||||||
level string,
|
level string,
|
||||||
|
fixedState configutils.BoolState,
|
||||||
isUnread bool,
|
isUnread bool,
|
||||||
tag string) (int64, error) {
|
tag string) (int64, error) {
|
||||||
query := this.Query(tx)
|
var query = this.Query(tx)
|
||||||
if len(role) > 0 {
|
if len(role) > 0 {
|
||||||
query.Attr("role", role)
|
query.Attr("role", role)
|
||||||
}
|
}
|
||||||
@@ -166,6 +168,8 @@ func (this *NodeLogDAO) CountNodeLogs(tx *dbs.Tx,
|
|||||||
}
|
}
|
||||||
if serverId > 0 {
|
if serverId > 0 {
|
||||||
query.Attr("serverId", serverId)
|
query.Attr("serverId", serverId)
|
||||||
|
} else if allServers {
|
||||||
|
query.Where("serverId>0")
|
||||||
}
|
}
|
||||||
if originId > 0 {
|
if originId > 0 {
|
||||||
query.Attr("originId", originId)
|
query.Attr("originId", originId)
|
||||||
@@ -185,6 +189,13 @@ func (this *NodeLogDAO) CountNodeLogs(tx *dbs.Tx,
|
|||||||
if len(level) > 0 {
|
if len(level) > 0 {
|
||||||
query.Attr("level", level)
|
query.Attr("level", level)
|
||||||
}
|
}
|
||||||
|
if fixedState == configutils.BoolStateYes {
|
||||||
|
query.Attr("isFixed", 1)
|
||||||
|
query.Where("level IN ('error', 'success', 'warning')")
|
||||||
|
} else if fixedState == configutils.BoolStateNo {
|
||||||
|
query.Attr("isFixed", 0)
|
||||||
|
query.Where("level IN ('error', 'success', 'warning')")
|
||||||
|
}
|
||||||
if isUnread {
|
if isUnread {
|
||||||
query.Attr("isRead", 0)
|
query.Attr("isRead", 0)
|
||||||
}
|
}
|
||||||
@@ -212,7 +223,7 @@ func (this *NodeLogDAO) ListNodeLogs(tx *dbs.Tx,
|
|||||||
tag string,
|
tag string,
|
||||||
offset int64,
|
offset int64,
|
||||||
size int64) (result []*NodeLog, err error) {
|
size int64) (result []*NodeLog, err error) {
|
||||||
query := this.Query(tx)
|
var query = this.Query(tx)
|
||||||
if len(role) > 0 {
|
if len(role) > 0 {
|
||||||
query.Attr("role", role)
|
query.Attr("role", role)
|
||||||
}
|
}
|
||||||
@@ -241,8 +252,10 @@ func (this *NodeLogDAO) ListNodeLogs(tx *dbs.Tx,
|
|||||||
}
|
}
|
||||||
if fixedState == configutils.BoolStateYes {
|
if fixedState == configutils.BoolStateYes {
|
||||||
query.Attr("isFixed", 1)
|
query.Attr("isFixed", 1)
|
||||||
|
query.Where("level IN ('error', 'success', 'warning')")
|
||||||
} else if fixedState == configutils.BoolStateNo {
|
} else if fixedState == configutils.BoolStateNo {
|
||||||
query.Attr("isFixed", 0)
|
query.Attr("isFixed", 0)
|
||||||
|
query.Where("level IN ('error', 'success', 'warning')")
|
||||||
}
|
}
|
||||||
if len(dayFrom) > 0 {
|
if len(dayFrom) > 0 {
|
||||||
dayFrom = strings.ReplaceAll(dayFrom, "-", "")
|
dayFrom = strings.ReplaceAll(dayFrom, "-", "")
|
||||||
@@ -310,6 +323,14 @@ func (this *NodeLogDAO) UpdateNodeLogFixed(tx *dbs.Tx, logId int64) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdateAllNodeLogsFixed 设置所有节点日志为已修复
|
||||||
|
func (this *NodeLogDAO) UpdateAllNodeLogsFixed(tx *dbs.Tx) error {
|
||||||
|
return this.Query(tx).
|
||||||
|
Attr("isFixed", 0).
|
||||||
|
Set("isFixed", 1).
|
||||||
|
UpdateQuickly()
|
||||||
|
}
|
||||||
|
|
||||||
// CountAllUnreadNodeLogs 计算未读的日志数量
|
// CountAllUnreadNodeLogs 计算未读的日志数量
|
||||||
func (this *NodeLogDAO) CountAllUnreadNodeLogs(tx *dbs.Tx) (int64, error) {
|
func (this *NodeLogDAO) CountAllUnreadNodeLogs(tx *dbs.Tx) (int64, error) {
|
||||||
return this.Query(tx).
|
return this.Query(tx).
|
||||||
|
|||||||
@@ -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.NodeClusterId, req.NodeId, req.ServerId, req.OriginId, req.DayFrom, req.DayTo, req.Keyword, req.Level, req.IsUnread, req.Tag)
|
count, err := models.SharedNodeLogDAO.CountNodeLogs(tx, req.Role, req.NodeClusterId, req.NodeId, req.ServerId, req.OriginId, req.AllServers, req.DayFrom, req.DayTo, req.Keyword, req.Level, types.Int8(req.FixedState), req.IsUnread, req.Tag)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -62,9 +62,9 @@ func (this *NodeLogService) ListNodeLogs(ctx context.Context, req *pb.ListNodeLo
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
hashList := []string{}
|
var hashList = []string{}
|
||||||
|
|
||||||
result := []*pb.NodeLog{}
|
var result = []*pb.NodeLog{}
|
||||||
for _, log := range logs {
|
for _, log := range logs {
|
||||||
// 如果是需要修复的日志,我们需要去重
|
// 如果是需要修复的日志,我们需要去重
|
||||||
if req.FixedState > 0 {
|
if req.FixedState > 0 {
|
||||||
@@ -109,6 +109,22 @@ func (this *NodeLogService) FixNodeLogs(ctx context.Context, req *pb.FixNodeLogs
|
|||||||
return this.Success()
|
return this.Success()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FixAllNodeLogs 设置所有日志为已修复
|
||||||
|
func (this *NodeLogService) FixAllNodeLogs(ctx context.Context, req *pb.FixAllNodeLogsRequest) (*pb.RPCSuccess, error) {
|
||||||
|
_, err := this.ValidateAdmin(ctx, 0)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var tx = this.NullTx()
|
||||||
|
err = models.SharedNodeLogDAO.UpdateAllNodeLogsFixed(tx)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.Success()
|
||||||
|
}
|
||||||
|
|
||||||
// CountAllUnreadNodeLogs 计算未读的日志数量
|
// CountAllUnreadNodeLogs 计算未读的日志数量
|
||||||
func (this *NodeLogService) CountAllUnreadNodeLogs(ctx context.Context, req *pb.CountAllUnreadNodeLogsRequest) (*pb.RPCCountResponse, error) {
|
func (this *NodeLogService) CountAllUnreadNodeLogs(ctx context.Context, req *pb.CountAllUnreadNodeLogsRequest) (*pb.RPCCountResponse, error) {
|
||||||
_, err := this.ValidateAdmin(ctx, 0)
|
_, err := this.ValidateAdmin(ctx, 0)
|
||||||
|
|||||||
Reference in New Issue
Block a user