mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-04 23:16:37 +08:00
feat: 重构日志处理,使用slog包替换原有日志函数,增强日志记录能力
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
"atsflare/model"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"log/slog"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
@@ -111,7 +112,7 @@ func RegisterNode(node *model.Node, payload AgentNodePayload) (*AgentRegistratio
|
||||
}
|
||||
|
||||
func HeartbeatNode(node *model.Node, payload AgentNodePayload) (*HeartbeatResponse, error) {
|
||||
common.SysLog("agent heartbeat received: node_id=" + node.NodeID + " current_version=" + strings.TrimSpace(payload.CurrentVersion))
|
||||
slog.Info("agent heartbeat received", "node_id", node.NodeID, "current_version", strings.TrimSpace(payload.CurrentVersion))
|
||||
payload.NodeID = node.NodeID
|
||||
payload = normalizeAgentNodePayload(payload)
|
||||
if err := validateAgentNodePayload(payload); err != nil {
|
||||
@@ -165,7 +166,7 @@ func GetActiveConfigMetaForAgent() (*ActiveConfigMeta, error) {
|
||||
func GetActiveConfigForAgent() (*AgentConfigResponse, error) {
|
||||
version, err := model.GetActiveConfigVersion()
|
||||
if err != nil {
|
||||
common.SysError("agent requested active config but no active version is available")
|
||||
slog.Error("agent requested active config but no active version is available")
|
||||
return nil, err
|
||||
}
|
||||
var supportFiles []SupportFile
|
||||
@@ -174,7 +175,7 @@ func GetActiveConfigForAgent() (*AgentConfigResponse, error) {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
common.SysLog("agent fetched active config: version=" + version.Version + " checksum=" + version.Checksum)
|
||||
slog.Info("agent fetched active config", "version", version.Version, "checksum", version.Checksum)
|
||||
return &AgentConfigResponse{
|
||||
Version: version.Version,
|
||||
Checksum: version.Checksum,
|
||||
@@ -204,7 +205,7 @@ func ReportApplyLog(payload ApplyLogPayload) (*model.ApplyLog, error) {
|
||||
if payload.Result != ApplyResultOK && payload.Result != ApplyResultFailed {
|
||||
return nil, errors.New("result 仅支持 success 或 failed")
|
||||
}
|
||||
common.SysLog("agent apply log received: node_id=" + payload.NodeID + " version=" + payload.Version + " result=" + payload.Result)
|
||||
slog.Info("agent apply log received", "node_id", payload.NodeID, "version", payload.Version, "result", payload.Result)
|
||||
|
||||
log := &model.ApplyLog{
|
||||
NodeID: payload.NodeID,
|
||||
@@ -239,9 +240,9 @@ func ReportApplyLog(payload ApplyLogPayload) (*model.ApplyLog, error) {
|
||||
return nil, err
|
||||
}
|
||||
if payload.Result == ApplyResultOK {
|
||||
common.SysLog("agent apply reported success: node_id=" + payload.NodeID + " version=" + payload.Version)
|
||||
slog.Info("agent apply reported success", "node_id", payload.NodeID, "version", payload.Version)
|
||||
} else {
|
||||
common.SysError("agent apply reported failure: node_id=" + payload.NodeID + " version=" + payload.Version + " message=" + payload.Message)
|
||||
slog.Error("agent apply reported failure", "node_id", payload.NodeID, "version", payload.Version, "message", payload.Message)
|
||||
}
|
||||
return log, nil
|
||||
}
|
||||
@@ -256,9 +257,9 @@ func ListNodeViews() ([]*NodeView, error) {
|
||||
computedStatus := computeNodeStatus(node)
|
||||
if node.Status != computedStatus {
|
||||
if computedStatus == NodeStatusOffline {
|
||||
common.SysError("node offline: node_id=" + node.NodeID + " name=" + node.Name + " ip=" + node.IP + " last_seen_at=" + node.LastSeenAt.Format(time.RFC3339))
|
||||
slog.Error("node offline", "node_id", node.NodeID, "name", node.Name, "ip", node.IP, "last_seen_at", node.LastSeenAt.Format(time.RFC3339))
|
||||
} else if computedStatus == NodeStatusOnline {
|
||||
common.SysLog("node online: node_id=" + node.NodeID + " name=" + node.Name + " ip=" + node.IP)
|
||||
slog.Info("node online", "node_id", node.NodeID, "name", node.Name, "ip", node.IP)
|
||||
}
|
||||
_ = model.DB.Model(node).Update("status", computedStatus).Error
|
||||
node.Status = computedStatus
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"crypto/rand"
|
||||
"encoding/hex"
|
||||
"errors"
|
||||
"log/slog"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
@@ -73,7 +74,7 @@ func CreateNode(input NodeInput) (*NodeView, error) {
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
common.SysLog("node created: name=" + node.Name + " node_id=" + node.NodeID)
|
||||
slog.Info("node created", "name", node.Name, "node_id", node.NodeID)
|
||||
return buildNodeView(node), nil
|
||||
}
|
||||
|
||||
@@ -91,7 +92,7 @@ func UpdateNode(id uint, input NodeInput) (*NodeView, error) {
|
||||
if err = node.Update(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
common.SysLog("node updated: name=" + node.Name + " node_id=" + node.NodeID)
|
||||
slog.Info("node updated", "name", node.Name, "node_id", node.NodeID)
|
||||
return buildNodeView(node), nil
|
||||
}
|
||||
|
||||
@@ -100,7 +101,7 @@ func DeleteNode(id uint) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
common.SysLog("node deleted: name=" + node.Name + " node_id=" + node.NodeID)
|
||||
slog.Info("node deleted", "name", node.Name, "node_id", node.NodeID)
|
||||
return node.Delete()
|
||||
}
|
||||
|
||||
@@ -141,7 +142,7 @@ func RequestNodeAgentUpdate(id uint, input NodeAgentUpdateInput) (*NodeView, err
|
||||
if err = model.DB.Model(node).Select("update_requested", "update_channel", "update_tag").Updates(node).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
common.SysLog("agent manual update requested: node_id=" + node.NodeID + " name=" + node.Name + " channel=" + channel.String() + " tag=" + tagName)
|
||||
slog.Info("agent manual update requested", "node_id", node.NodeID, "name", node.Name, "channel", channel.String(), "tag", tagName)
|
||||
return buildNodeView(node), nil
|
||||
}
|
||||
|
||||
@@ -154,7 +155,7 @@ func RequestNodeOpenrestyRestart(id uint) (*NodeView, error) {
|
||||
if err = model.DB.Model(node).Select("restart_openresty_requested").Updates(node).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
common.SysLog("openresty restart requested: node_id=" + node.NodeID + " name=" + node.Name)
|
||||
slog.Info("openresty restart requested", "node_id", node.NodeID, "name", node.Name)
|
||||
return buildNodeView(node), nil
|
||||
}
|
||||
|
||||
@@ -286,7 +287,7 @@ func RegisterNodeWithAgentToken(node *model.Node, payload AgentNodePayload) (*Ag
|
||||
if err := node.Update(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
common.SysLog("agent register succeeded on reserved node: node_id=" + node.NodeID + " name=" + node.Name)
|
||||
slog.Info("agent register succeeded on reserved node", "node_id", node.NodeID, "name", node.Name)
|
||||
return &AgentRegistrationResponse{
|
||||
NodeID: node.NodeID,
|
||||
AgentToken: node.AgentToken,
|
||||
@@ -323,7 +324,7 @@ func RegisterNodeWithDiscovery(payload AgentNodePayload) (*AgentRegistrationResp
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
common.SysLog("agent discovery register succeeded: node_id=" + node.NodeID + " name=" + node.Name)
|
||||
slog.Info("agent discovery register succeeded", "node_id", node.NodeID, "name", node.Name)
|
||||
return &AgentRegistrationResponse{
|
||||
NodeID: node.NodeID,
|
||||
AgentToken: node.AgentToken,
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
"os"
|
||||
"os/exec"
|
||||
@@ -136,7 +137,7 @@ func ScheduleServerUpgrade(channel string) (*LatestServerRelease, error) {
|
||||
go func(task *preparedServerUpgrade) {
|
||||
time.Sleep(serverUpgradeDispatchDelay)
|
||||
if err := executeServerUpgrade(task); err != nil {
|
||||
common.SysError(fmt.Sprintf("server self-update failed: %v", err))
|
||||
slog.Error("server self-update failed", "error", err)
|
||||
serverUpgradeState.Lock()
|
||||
serverUpgradeState.inProgress = false
|
||||
serverUpgradeState.Unlock()
|
||||
@@ -250,7 +251,7 @@ func ConfirmManualServerUpgrade(uploadToken string) (*UploadedServerBinary, erro
|
||||
go func(task *manualServerBinaryCandidate) {
|
||||
time.Sleep(serverUpgradeDispatchDelay)
|
||||
if err := executeManualServerUpgrade(task); err != nil {
|
||||
common.SysError(fmt.Sprintf("server manual upgrade failed: %v", err))
|
||||
slog.Error("server manual upgrade failed", "error", err)
|
||||
serverUpgradeState.Lock()
|
||||
serverUpgradeState.inProgress = false
|
||||
serverUpgradeState.Unlock()
|
||||
@@ -501,12 +502,12 @@ func executeServerUpgrade(task *preparedServerUpgrade) error {
|
||||
return err
|
||||
}
|
||||
|
||||
common.SysLog("server self-update starting: from=" + strings.TrimSpace(common.Version) + " to=" + task.release.TagName)
|
||||
slog.Info("server self-update starting", "from", strings.TrimSpace(common.Version), "to", task.release.TagName)
|
||||
return serverBinaryUpgradeExecutor(task.execPath, tmpPath)
|
||||
}
|
||||
|
||||
func executeManualServerUpgrade(task *manualServerBinaryCandidate) error {
|
||||
common.SysLog("server manual self-update starting: from=" + strings.TrimSpace(task.CurrentVersion) + " to=" + strings.TrimSpace(task.DetectedVersion))
|
||||
slog.Info("server manual self-update starting", "from", strings.TrimSpace(task.CurrentVersion), "to", strings.TrimSpace(task.DetectedVersion))
|
||||
return serverBinaryUpgradeExecutor(task.ExecPath, task.TempPath)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user