全面替换log为zap

This commit is contained in:
2024-11-08 18:42:13 +08:00
parent 3da1fe761e
commit edb8d30605
17 changed files with 269 additions and 55 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"
"log"
"sync"
)
@@ -33,7 +33,7 @@ func PlayBgm() leaf.HandlerFunc {
ctrl, closer := audio.PlayBgmMP3(bgm)
defer closer()
if ctrl == nil {
log.Println("播放背景音乐失败")
logger.Infoln("播放背景音乐失败")
return
}

View File

@@ -4,7 +4,7 @@ import (
"encoding/json"
"game-driver/internal/schema"
"game-driver/leaf"
"log"
"game-driver/pkg/logger"
)
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 {
log.Panicf("报文解析错误: %v\n", err)
logger.Panicf("报文解析错误: %v\n", err)
}
leaf.WithValue[*T](c, PayloadJSONKey, pm)
c.Next()

View File

@@ -2,13 +2,13 @@ package middleware
import (
"game-driver/leaf"
"log"
"game-driver/pkg/logger"
)
func RunLog() leaf.HandlerFunc {
return func(c *leaf.Context) {
log.Printf("收到消息, topic: %s, payload: %s", c.Topic, c.Payload)
defer log.Println("执行结束")
logger.Infof("收到消息, topic: %s, payload: %s", c.Topic, c.Payload)
defer logger.Infof("执行结束")
c.Next()
}

View File

@@ -3,7 +3,7 @@ package routes
import (
"game-driver/internal/common"
"game-driver/leaf"
"log"
"game-driver/pkg/logger"
)
func Command(d *common.Device) leaf.HandlerFunc {
@@ -17,7 +17,7 @@ func Command(d *common.Device) leaf.HandlerFunc {
case "status":
d.PublishStatus()
default:
log.Printf("接收到无效指令: %s\n", cmd)
logger.Infof("接收到无效指令: %s\n", cmd)
}
}
}

View File

@@ -5,12 +5,12 @@ import (
"game-driver/internal/schema"
"game-driver/leaf"
"game-driver/pkg/audio"
"game-driver/pkg/logger"
"game-driver/pkg/relay"
"game-driver/pkg/tts"
"game-driver/pkg/utils"
"game-driver/pkg/video"
"github.com/gopxl/beep/v2/speaker"
"log"
"sync"
"time"
)
@@ -34,7 +34,7 @@ func WaitAction(c *leaf.Context) {
payload := leaf.Value[*schema.WaitModel](c, middleware.PayloadJSONKey)
if payload.Start != 0 && payload.End != 0 && time.Unix(payload.Start, 0).After(time.Unix(payload.End, 0)) {
log.Println("开始时间大于结束时间")
logger.Infoln("开始时间大于结束时间")
return
}
@@ -81,7 +81,7 @@ func WaitAction(c *leaf.Context) {
}()
case schema.WaitWeb:
default:
log.Printf("不支持的类型: %d\n", item.Type)
logger.Infof("不支持的类型: %d\n", item.Type)
}
}
}
@@ -89,7 +89,7 @@ func WaitAction(c *leaf.Context) {
func audioAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeModel) {
if item.Start != 0 && time.Unix(item.Start, 0).Before(time.Unix(root.Start, 0)) {
log.Println("开始时间小于根任务开始时间")
logger.Infoln("开始时间小于根任务开始时间")
return
}
@@ -102,13 +102,13 @@ func audioAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
case <-c.Done():
case <-timerAction(item.Start):
{
log.Println("开始执行后台任务")
logger.Infoln("开始执行后台任务")
data := utils.LinkAudio(item.Data)
ctrl, closer := audio.PlayBgmMP3(data)
defer closer()
if ctrl == nil {
log.Println("播放背景音乐失败")
logger.Infoln("播放背景音乐失败")
return
}
@@ -126,7 +126,7 @@ func audioAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
func ttsAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeModel) {
if item.Start != 0 && time.Unix(item.Start, 0).Before(time.Unix(root.Start, 0)) {
log.Println("开始时间小于根任务开始时间")
logger.Infoln("开始时间小于根任务开始时间")
return
}
@@ -137,7 +137,7 @@ func ttsAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeModel
reader, err := tts.DefaultTTS.Get(item.Data)
if err != nil {
log.Println("语音合成异常: ", err)
logger.Infoln("语音合成异常: ", err)
return
}
@@ -159,7 +159,7 @@ func ttsAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeModel
func relayAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeModel) {
if item.Start != 0 && time.Unix(item.Start, 0).Before(time.Unix(root.Start, 0)) {
log.Println("开始时间小于根任务开始时间")
logger.Infoln("开始时间小于根任务开始时间")
return
}
@@ -170,7 +170,7 @@ func relayAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
device, err := relay.New(item.Data, nil)
if err != nil {
log.Println("继电器初始化异常: ", err)
logger.Infoln("继电器初始化异常: ", err)
return
}
defer device.Close()
@@ -188,7 +188,7 @@ func relayAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
func videoAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeModel) {
if item.Start != 0 && time.Unix(item.Start, 0).Before(time.Unix(root.Start, 0)) {
log.Println("开始时间小于根任务开始时间")
logger.Infoln("开始时间小于根任务开始时间")
return
}
@@ -207,7 +207,7 @@ func videoAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
for {
err := video.Play(c, utils.LinkVideo(item.Data))
if err != nil {
log.Panicln("视频播放异常: ", err)
logger.Panicln("视频播放异常: ", err)
}
select {
case <-c.Done():

View File

@@ -9,11 +9,12 @@ import (
"game-driver/internal/routes"
"game-driver/internal/schema"
"game-driver/leaf"
"game-driver/pkg/logger"
"game-driver/pkg/tts"
"game-driver/pkg/utils"
"github.com/eclipse/paho.golang/autopaho"
"github.com/eclipse/paho.golang/paho"
"log"
"go.uber.org/zap"
"net/url"
"os"
"os/signal"
@@ -24,12 +25,12 @@ import (
func buildMqtt(c config.MqttConfig, r *leaf.Engine, subTopics ...string) autopaho.ClientConfig {
u, err := url.Parse(c.Url)
if err != nil {
log.Panicln("mqtt url parse error: ", err)
logger.Panicln("mqtt url parse error: ", err)
}
subscriptions := make([]paho.SubscribeOptions, 0)
for _, topic := range subTopics {
log.Println("订阅主题: ", topic)
logger.Infoln("订阅主题: ", topic)
subscriptions = append(subscriptions, paho.SubscribeOptions{Topic: topic, QoS: 0})
}
@@ -39,17 +40,17 @@ func buildMqtt(c config.MqttConfig, r *leaf.Engine, subTopics ...string) autopah
CleanStartOnInitialConnection: false,
SessionExpiryInterval: 60,
OnConnectionUp: func(cm *autopaho.ConnectionManager, _ *paho.Connack) {
log.Println("MQTT 连接成功")
logger.Infoln("MQTT 连接成功")
if _, err := cm.Subscribe(context.Background(), &paho.Subscribe{
Subscriptions: subscriptions,
}); err != nil {
log.Printf("failed to subscribe (%s). This is likely to mean no messages will be received.", err)
logger.Infof("failed to subscribe (%s). This is likely to mean no messages will be received.", err)
return
}
log.Println("订阅完成")
logger.Infoln("订阅完成")
},
OnConnectError: func(err error) {
log.Printf("MQTT 连接异常: %s\n", err)
logger.Infof("MQTT 连接异常: %s\n", err)
},
ClientConfig: paho.ClientConfig{
ClientID: "TestSubscriber",
@@ -81,9 +82,11 @@ func Run() {
defer cancel()
router := leaf.Default(ctx)
log := zap.NewStdLog(logger.DefaultLogger.Zap())
router.SetDebugLogger(log)
router.DefaultHandler(func(c *leaf.Context) {
log.Printf("未处理消息 topic: %s\n payload: %s\n", c.Topic, c.Payload)
logger.Infof("未处理消息topic: %s\n payload: %s\n", c.Topic, c.Payload)
})
// 构建 MQTT 连接
@@ -92,7 +95,7 @@ func Run() {
// 连接 MQTT
cm, err := autopaho.NewConnection(ctx, mqttBuild)
if err != nil {
log.Panicln("连接 MQTT 异常: ", err)
logger.Panicln("连接 MQTT 异常: ", err)
}
// 构建语音合成对象
@@ -100,10 +103,10 @@ func Run() {
// 构建继电器对象
//r, err := relay.New(config.C.Relay, func(msg string) {
// log.Println("串口返回: ", msg)
// logger.Infoln("串口返回: ", msg)
//})
//if err != nil {
// log.Panicln("串口连接异常: ", err)
// logger.Panicln("串口连接异常: ", err)
//}
//defer r.Close()