优化全局zap的打印,修复待机任务出现多个的情况

This commit is contained in:
2024-11-12 14:47:20 +08:00
parent 355880c3f9
commit cc12b60437
20 changed files with 181 additions and 84 deletions

View File

@@ -10,6 +10,7 @@ import (
"game-driver/internal/schema"
"game-driver/leaf"
"game-driver/pkg/logger"
"game-driver/pkg/relay"
"game-driver/pkg/tts"
"game-driver/pkg/utils"
"github.com/eclipse/paho.golang/autopaho"
@@ -44,7 +45,7 @@ func buildMqtt(c config.MqttConfig, r *leaf.Engine, subTopics ...string) autopah
if _, err := cm.Subscribe(context.Background(), &paho.Subscribe{
Subscriptions: subscriptions,
}); err != nil {
logger.Infof("failed to subscribe (%s). This is likely to mean no messages will be received.", err)
logger.Errorf("failed to subscribe (%s). This is likely to mean no messages will be received.", err)
return
}
logger.Infoln("订阅完成")
@@ -60,12 +61,12 @@ func buildMqtt(c config.MqttConfig, r *leaf.Engine, subTopics ...string) autopah
return true, nil
},
},
OnClientError: func(err error) { fmt.Printf("client error: %s\n", err) },
OnClientError: func(err error) { logger.Errorf("client error: %s\n", err) },
OnServerDisconnect: func(d *paho.Disconnect) {
if d.Properties != nil {
fmt.Printf("server requested disconnect: %s\n", d.Properties.ReasonString)
logger.Warnf("server requested disconnect: %s\n", d.Properties.ReasonString)
} else {
fmt.Printf("server requested disconnect; reason code: %d\n", d.ReasonCode)
logger.Warnf("server requested disconnect; reason code: %d\n", d.ReasonCode)
}
},
},
@@ -82,6 +83,8 @@ func Run() {
defer cancel()
router := leaf.Default(ctx)
// 应用推出时刷新所有缓冲日志
defer logger.DefaultLogger.Sync()
log, _ := zap.NewStdLogAt(logger.DefaultLogger.ZapLogger(), zap.DebugLevel)
router.SetDebugLogger(log)
@@ -103,13 +106,13 @@ func Run() {
tts.DefaultTTS = tts.New(ctx, config.C.Aliyun)
// 构建继电器对象
//r, err := relay.New(config.C.Relay, func(msg string) {
// logger.Infoln("串口返回: ", msg)
//})
//if err != nil {
// logger.Panicln("串口连接异常: ", err)
//}
//defer r.Close()
r, err := relay.New(config.C.Relay, func(msg string) {
logger.Infoln("串口返回: ", msg)
})
if err != nil {
logger.Panicln("串口连接异常: ", err)
}
defer r.Close()
// 构建全局设备变量
device := common.DefaultDevice(ctx, cm, publishTopic)
@@ -133,6 +136,7 @@ func Run() {
router.RegisterHandler(topicPrefix+"wait",
middleware.RunLog(),
middleware.PayloadJSON[schema.WaitModel](),
middleware.Unique(common.GlobalBgStopper),
middleware.EmergencyStop(common.GlobalBgStopper),
routes.WaitAction,
)
@@ -151,13 +155,13 @@ func Run() {
signal.Notify(sig, os.Interrupt, syscall.SIGTERM)
<-sig
fmt.Println("接收到关闭命令 - 正在关闭程序")
logger.Infoln("接收到关闭命令 - 正在关闭程序")
ctx, cancel = context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
if e := cm.Disconnect(ctx); e != nil {
fmt.Printf("断开连接异常: %s\n", e)
logger.Errorln("断开连接异常", e)
}
fmt.Println("关闭完成")
logger.Infoln("关闭完成")
}