前端页面
This commit is contained in:
@@ -0,0 +1,137 @@
|
||||
package runtimeLogs
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
|
||||
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/httpdns/httpdnsutils"
|
||||
)
|
||||
|
||||
type IndexAction struct {
|
||||
actionutils.ParentAction
|
||||
}
|
||||
|
||||
func (this *IndexAction) Init() {
|
||||
this.Nav("httpdns", "runtimeLogs", "")
|
||||
}
|
||||
|
||||
func (this *IndexAction) RunGet(params struct {
|
||||
ClusterId int64
|
||||
NodeId int64
|
||||
DayFrom string
|
||||
DayTo string
|
||||
Level string
|
||||
Keyword string
|
||||
}) {
|
||||
httpdnsutils.AddLeftMenu(this.Parent())
|
||||
|
||||
this.Data["clusterId"] = params.ClusterId
|
||||
this.Data["nodeId"] = params.NodeId
|
||||
this.Data["dayFrom"] = params.DayFrom
|
||||
this.Data["dayTo"] = params.DayTo
|
||||
this.Data["level"] = params.Level
|
||||
this.Data["keyword"] = params.Keyword
|
||||
|
||||
clusters := []map[string]interface{}{
|
||||
{"id": int64(1), "name": "gateway-cn-hz"},
|
||||
{"id": int64(2), "name": "gateway-cn-bj"},
|
||||
}
|
||||
nodes := []map[string]interface{}{
|
||||
{"id": int64(101), "clusterId": int64(1), "name": "hz-node-01"},
|
||||
{"id": int64(102), "clusterId": int64(1), "name": "hz-node-02"},
|
||||
{"id": int64(201), "clusterId": int64(2), "name": "bj-node-01"},
|
||||
}
|
||||
this.Data["clusters"] = clusters
|
||||
this.Data["nodes"] = nodes
|
||||
|
||||
allLogs := []map[string]interface{}{
|
||||
{
|
||||
"createdTime": "2026-02-23 10:30:12",
|
||||
"clusterId": int64(1),
|
||||
"clusterName": "gateway-cn-hz",
|
||||
"nodeId": int64(101),
|
||||
"nodeName": "hz-node-01",
|
||||
"level": "info",
|
||||
"tag": "config",
|
||||
"module": "resolver",
|
||||
"description": "\u914d\u7f6e\u70ed\u52a0\u8f7d\u5b8c\u6210\uff0c\u5df2\u542f\u7528\u6700\u65b0\u7b56\u7565\u5feb\u7167\u3002",
|
||||
"count": int64(1),
|
||||
"requestId": "rid-20260223-001",
|
||||
},
|
||||
{
|
||||
"createdTime": "2026-02-23 10:27:38",
|
||||
"clusterId": int64(2),
|
||||
"clusterName": "gateway-cn-bj",
|
||||
"nodeId": int64(201),
|
||||
"nodeName": "bj-node-01",
|
||||
"level": "warning",
|
||||
"tag": "sni",
|
||||
"module": "policy-engine",
|
||||
"description": "\u68c0\u6d4b\u5230 level3 \u6761\u4ef6\u4e0d\u6ee1\u8db3\uff0c\u81ea\u52a8\u964d\u7ea7\u5230 level2\u3002",
|
||||
"count": int64(3),
|
||||
"requestId": "rid-20260223-002",
|
||||
},
|
||||
{
|
||||
"createdTime": "2026-02-23 10:22:49",
|
||||
"clusterId": int64(1),
|
||||
"clusterName": "gateway-cn-hz",
|
||||
"nodeId": int64(102),
|
||||
"nodeName": "hz-node-02",
|
||||
"level": "success",
|
||||
"tag": "cache-refresh",
|
||||
"module": "cache",
|
||||
"description": "\u57df\u540d\u7f13\u5b58\u5237\u65b0\u4efb\u52a1\u5b8c\u6210\uff0c\u6210\u529f 2/2\u3002",
|
||||
"count": int64(1),
|
||||
"requestId": "rid-20260223-003",
|
||||
},
|
||||
{
|
||||
"createdTime": "2026-02-23 10:18:11",
|
||||
"clusterId": int64(1),
|
||||
"clusterName": "gateway-cn-hz",
|
||||
"nodeId": int64(101),
|
||||
"nodeName": "hz-node-01",
|
||||
"level": "error",
|
||||
"tag": "upstream",
|
||||
"module": "resolver",
|
||||
"description": "\u4e0a\u6e38\u6743\u5a01 DNS \u8bf7\u6c42\u8d85\u65f6\uff0c\u89e6\u53d1\u91cd\u8bd5\u540e\u6062\u590d\u3002",
|
||||
"count": int64(2),
|
||||
"requestId": "rid-20260223-004",
|
||||
},
|
||||
}
|
||||
|
||||
keyword := strings.TrimSpace(strings.ToLower(params.Keyword))
|
||||
filtered := make([]map[string]interface{}, 0)
|
||||
for _, log := range allLogs {
|
||||
if params.ClusterId > 0 && log["clusterId"].(int64) != params.ClusterId {
|
||||
continue
|
||||
}
|
||||
if params.NodeId > 0 && log["nodeId"].(int64) != params.NodeId {
|
||||
continue
|
||||
}
|
||||
if len(params.Level) > 0 && log["level"].(string) != params.Level {
|
||||
continue
|
||||
}
|
||||
if len(params.DayFrom) > 0 {
|
||||
if log["createdTime"].(string)[:10] < params.DayFrom {
|
||||
continue
|
||||
}
|
||||
}
|
||||
if len(params.DayTo) > 0 {
|
||||
if log["createdTime"].(string)[:10] > params.DayTo {
|
||||
continue
|
||||
}
|
||||
}
|
||||
if len(keyword) > 0 {
|
||||
if !strings.Contains(strings.ToLower(log["tag"].(string)), keyword) &&
|
||||
!strings.Contains(strings.ToLower(log["module"].(string)), keyword) &&
|
||||
!strings.Contains(strings.ToLower(log["description"].(string)), keyword) &&
|
||||
!strings.Contains(strings.ToLower(log["nodeName"].(string)), keyword) {
|
||||
continue
|
||||
}
|
||||
}
|
||||
filtered = append(filtered, log)
|
||||
}
|
||||
|
||||
this.Data["runtimeLogs"] = filtered
|
||||
this.Show()
|
||||
}
|
||||
Reference in New Issue
Block a user