完成日志输出到文件、终端多处的处理

This commit is contained in:
2024-11-13 16:11:59 +08:00
parent 9b643f4352
commit 28291598bb
28 changed files with 175 additions and 330 deletions

View File

@@ -4,9 +4,9 @@ import (
"game-driver/internal/schema"
"game-driver/leaf"
"game-driver/pkg/audio"
"game-driver/pkg/logger"
"game-driver/pkg/utils"
"github.com/gopxl/beep/v2/speaker"
"go.uber.org/zap"
"sync"
)
@@ -17,10 +17,10 @@ func PlayBgm() leaf.HandlerFunc {
bgm, err := utils.LinkAudio(pm.BGM)
if err != nil {
logger.Errorln("背景音乐数据解析异常:", err)
zap.S().Errorln("背景音乐数据解析异常:", err)
}
if bgm != nil {
logger.Infoln("背景音乐解析成功")
zap.S().Infoln("背景音乐解析成功")
// 等待组
var wait sync.WaitGroup
defer wait.Wait()
@@ -34,13 +34,13 @@ func PlayBgm() leaf.HandlerFunc {
go func() {
defer wait.Done()
logger.Infoln("开始播放背景音乐")
defer logger.Infoln("结束背景音乐播放")
zap.S().Infoln("开始播放背景音乐")
defer zap.S().Infoln("结束背景音乐播放")
ctrl, closer, e := audio.PlayBgmMP3(bgm)
defer closer()
if e != nil {
logger.Errorln("播放背景音乐异常:", e)
zap.S().Errorln("播放背景音乐异常:", e)
return
}
@@ -55,7 +55,7 @@ func PlayBgm() leaf.HandlerFunc {
}
}()
} else {
logger.Errorln("背景音乐解析为空")
zap.S().Errorln("背景音乐解析为空")
}
c.Next()

View File

@@ -4,7 +4,7 @@ import (
"encoding/json"
"game-driver/internal/schema"
"game-driver/leaf"
"game-driver/pkg/logger"
"go.uber.org/zap"
)
type JSONKey string
@@ -17,7 +17,7 @@ func PayloadJSON[T schema.JsonModel]() leaf.HandlerFunc {
pm := new(T)
err := json.Unmarshal(c.Payload, pm)
if err != nil {
logger.Panicln("报文解析错误", err)
zap.S().Panicln("报文解析错误", err)
}
leaf.WithValue[*T](c, PayloadJSONKey, pm)
c.Next()

View File

@@ -2,13 +2,13 @@ package middleware
import (
"game-driver/leaf"
"game-driver/pkg/logger"
"go.uber.org/zap"
)
func RunLog() leaf.HandlerFunc {
return func(c *leaf.Context) {
logger.Infof("收到消息, topic: %s, payload: %s", c.Topic, c.Payload)
defer logger.Infof("处理结束")
zap.S().Infof("收到消息, topic: %s, payload: %s", c.Topic, c.Payload)
defer zap.S().Infof("处理结束")
c.Next()
}

View File

@@ -3,8 +3,8 @@ package middleware
import (
"game-driver/internal/schema"
"game-driver/leaf"
"game-driver/pkg/logger"
"game-driver/pkg/relay"
"go.uber.org/zap"
)
// RelayMaster 继电器中间件
@@ -15,10 +15,10 @@ func RelayMaster(r *relay.Device) leaf.HandlerFunc {
r.On(1)
defer r.Off(1)
logger.Infoln("开启电源")
defer logger.Infoln("关闭电源")
zap.S().Infoln("开启电源")
defer zap.S().Infoln("关闭电源")
} else {
logger.Infoln("继电器未开启/不需要电源控制")
zap.S().Infoln("继电器未开启/不需要电源控制")
}
c.Next()
}

View File

@@ -3,7 +3,7 @@ package middleware
import (
"game-driver/internal/common"
"game-driver/leaf"
"game-driver/pkg/logger"
"go.uber.org/zap"
)
// EmergencyStop 紧急停止中间件
@@ -17,15 +17,15 @@ func EmergencyStop(stopper common.Stopper) leaf.HandlerFunc {
// 发送结束信号
defer close(a)
logger.Infoln("监听停止信号")
zap.S().Infoln("监听停止信号")
go func() {
defer logger.Infoln("结束停止信号监听")
defer zap.S().Infoln("结束停止信号监听")
select {
case <-a:
case <-stopper.Done():
{
logger.Infoln("停止信号触发")
zap.S().Infoln("停止信号触发")
cancel()
leaf.WithValue[leaf.EndType](c, leaf.EndKey, leaf.EndStop)
}

View File

@@ -3,8 +3,8 @@ package middleware
import (
"game-driver/internal/schema"
"game-driver/leaf"
"game-driver/pkg/logger"
"game-driver/pkg/tts"
"go.uber.org/zap"
"sync"
"time"
)
@@ -40,8 +40,8 @@ func TickerAction() leaf.HandlerFunc {
ticker := time.NewTicker(time.Second)
defer ticker.Stop()
logger.Infoln("开始 Ticker 计时")
defer logger.Infoln("结束 Ticker 计时")
zap.S().Infoln("开始 Ticker 计时")
defer zap.S().Infoln("结束 Ticker 计时")
for over := false; !over; {
select {

View File

@@ -3,7 +3,7 @@ package middleware
import (
"game-driver/internal/schema"
"game-driver/leaf"
"game-driver/pkg/logger"
"go.uber.org/zap"
"sync"
"time"
)
@@ -36,15 +36,15 @@ func TimeoutOver(maxTimeout int) leaf.HandlerFunc {
go func() {
defer wait.Done()
logger.Infoln("超时 Timer 监控开始")
defer logger.Infoln("超时 Timer 监控结束")
zap.S().Infoln("超时 Timer 监控开始")
defer zap.S().Infoln("超时 Timer 监控结束")
// 结束标志
select {
case <-a:
case <-timer.C: // 定时器结束
{
logger.Infoln("超时 Timer 触发")
zap.S().Infoln("超时 Timer 触发")
cancel()
leaf.WithValue[leaf.EndType](c, leaf.EndKey, leaf.EndTimer)
}

View File

@@ -3,7 +3,7 @@ package middleware
import (
"game-driver/internal/common"
"game-driver/leaf"
"game-driver/pkg/logger"
"go.uber.org/zap"
"sync"
)
@@ -12,15 +12,15 @@ func Unique(stopper common.Stopper) leaf.HandlerFunc {
var lock sync.Mutex
return func(c *leaf.Context) {
if !lock.TryLock() {
logger.Infoln("尝试加锁失败,执行停止任务")
zap.S().Infoln("尝试加锁失败,执行停止任务")
stopper.Stop()
lock.Lock()
}
logger.Infoln("加锁完成")
zap.S().Infoln("加锁完成")
defer func() {
lock.Unlock()
logger.Infoln("解锁完成")
zap.S().Infoln("解锁完成")
}()
c.Next()