完成日志输出到文件、终端多处的处理
This commit is contained in:
@@ -3,9 +3,9 @@ package common
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"game-driver/pkg/logger"
|
||||
"github.com/eclipse/paho.golang/autopaho"
|
||||
"github.com/eclipse/paho.golang/paho"
|
||||
"go.uber.org/zap"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
)
|
||||
@@ -30,14 +30,14 @@ func (d *Device) Lock() {
|
||||
defer d.OnChange()
|
||||
d.mu.Lock()
|
||||
d.status.Store(1)
|
||||
logger.Infoln("设备上锁")
|
||||
zap.S().Infoln("设备上锁")
|
||||
}
|
||||
|
||||
func (d *Device) Unlock() {
|
||||
defer d.OnChange()
|
||||
d.status.Store(0)
|
||||
d.mu.Unlock()
|
||||
logger.Infoln("设备解锁")
|
||||
zap.S().Infoln("设备解锁")
|
||||
}
|
||||
|
||||
func (d *Device) Status() int {
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -3,7 +3,7 @@ package routes
|
||||
import (
|
||||
"game-driver/internal/common"
|
||||
"game-driver/leaf"
|
||||
"game-driver/pkg/logger"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
func Command(d *common.Device) leaf.HandlerFunc {
|
||||
@@ -17,7 +17,7 @@ func Command(d *common.Device) leaf.HandlerFunc {
|
||||
case "status":
|
||||
d.PublishStatus()
|
||||
default:
|
||||
logger.Infof("接收到无效指令: %s\n", cmd)
|
||||
zap.S().Infof("接收到无效指令: %s\n", cmd)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,9 +4,9 @@ import (
|
||||
"game-driver/internal/middleware"
|
||||
"game-driver/internal/schema"
|
||||
"game-driver/leaf"
|
||||
"game-driver/pkg/logger"
|
||||
"game-driver/pkg/utils"
|
||||
"game-driver/pkg/video"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
func OnlyVideo(c *leaf.Context) {
|
||||
@@ -18,7 +18,7 @@ func OnlyVideo(c *leaf.Context) {
|
||||
if url, ok := payload.Game["video"]; ok {
|
||||
local, err := utils.LinkVideo(url.(string))
|
||||
if err != nil {
|
||||
logger.Errorln("视频文件获取异常: ", err)
|
||||
zap.S().Errorln("视频文件获取异常: ", err)
|
||||
return
|
||||
}
|
||||
_ = video.Play(c, local)
|
||||
|
||||
@@ -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"
|
||||
"go.uber.org/zap"
|
||||
"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)) {
|
||||
logger.Infoln("开始时间大于结束时间")
|
||||
zap.S().Infoln("开始时间大于结束时间")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ func WaitAction(c *leaf.Context) {
|
||||
}()
|
||||
case schema.WaitWeb:
|
||||
default:
|
||||
logger.Infof("不支持的类型: %d\n", item.Type)
|
||||
zap.S().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)) {
|
||||
logger.Infoln("开始时间小于根任务开始时间")
|
||||
zap.S().Infoln("开始时间小于根任务开始时间")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ func audioAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
|
||||
|
||||
data, err := utils.LinkAudio(item.Data)
|
||||
if err != nil {
|
||||
logger.Errorln("音频数据获取异常: ", err)
|
||||
zap.S().Errorln("音频数据获取异常: ", err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -108,13 +108,13 @@ func audioAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
|
||||
case <-c.Done():
|
||||
case <-timerAction(item.Start):
|
||||
{
|
||||
logger.Infoln("播放待机音乐")
|
||||
defer logger.Infoln("结束待机音乐")
|
||||
zap.S().Infoln("播放待机音乐")
|
||||
defer zap.S().Infoln("结束待机音乐")
|
||||
|
||||
ctrl, closer, e := audio.PlayBgmMP3(data)
|
||||
defer closer()
|
||||
if e != nil {
|
||||
logger.Errorln("播放待机音乐异常", e)
|
||||
zap.S().Errorln("播放待机音乐异常", e)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -132,7 +132,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)) {
|
||||
logger.Infoln("开始时间小于根任务开始时间")
|
||||
zap.S().Infoln("开始时间小于根任务开始时间")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ func ttsAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeModel
|
||||
|
||||
reader, err := tts.DefaultTTS.Get(item.Data)
|
||||
if err != nil {
|
||||
logger.Errorln("语音合成异常: ", err)
|
||||
zap.S().Errorln("语音合成异常: ", err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -151,8 +151,8 @@ func ttsAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeModel
|
||||
case <-c.Done():
|
||||
case <-timerAction(item.Start):
|
||||
{
|
||||
logger.Infoln("循环播放待机 TTS 语音")
|
||||
defer logger.Infoln("结束待机 TTS 语音")
|
||||
zap.S().Infoln("循环播放待机 TTS 语音")
|
||||
defer zap.S().Infoln("结束待机 TTS 语音")
|
||||
|
||||
for {
|
||||
audio.PlayWav(c, reader)
|
||||
@@ -168,7 +168,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)) {
|
||||
logger.Infoln("开始时间小于根任务开始时间")
|
||||
zap.S().Infoln("开始时间小于根任务开始时间")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -179,7 +179,7 @@ func relayAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
|
||||
|
||||
device, err := relay.New(item.Data, nil)
|
||||
if err != nil {
|
||||
logger.Errorln("继电器初始化异常: ", err)
|
||||
zap.S().Errorln("继电器初始化异常: ", err)
|
||||
return
|
||||
}
|
||||
defer device.Close()
|
||||
@@ -188,8 +188,8 @@ func relayAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
|
||||
case <-c.Done():
|
||||
case <-timerAction(item.Start):
|
||||
{
|
||||
logger.Infoln("待机继电器供电")
|
||||
defer logger.Infoln("待机继电器断电")
|
||||
zap.S().Infoln("待机继电器供电")
|
||||
defer zap.S().Infoln("待机继电器断电")
|
||||
|
||||
device.On(1)
|
||||
<-c.Done()
|
||||
@@ -200,7 +200,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)) {
|
||||
logger.Infoln("开始时间小于根任务开始时间")
|
||||
zap.S().Infoln("开始时间小于根任务开始时间")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -211,7 +211,7 @@ func videoAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
|
||||
|
||||
local, err := utils.LinkVideo(item.Data)
|
||||
if err != nil {
|
||||
logger.Errorln("视频文件获取异常: ", err)
|
||||
zap.S().Errorln("视频文件获取异常: ", err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -219,8 +219,8 @@ func videoAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
|
||||
case <-c.Done():
|
||||
case <-timerAction(item.Start):
|
||||
{
|
||||
logger.Infoln("循环播放待机视频")
|
||||
defer logger.Infoln("结束待机视频")
|
||||
zap.S().Infoln("循环播放待机视频")
|
||||
defer zap.S().Infoln("结束待机视频")
|
||||
|
||||
utils.BlankOpen()
|
||||
defer utils.BlankClose()
|
||||
@@ -228,7 +228,7 @@ func videoAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
|
||||
for {
|
||||
err := video.Play(c, local)
|
||||
if err != nil {
|
||||
logger.Infof("视频播放异常: %s", err)
|
||||
zap.S().Infof("视频播放异常: %s", err)
|
||||
return
|
||||
}
|
||||
select {
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"game-driver/internal/routes"
|
||||
"game-driver/internal/schema"
|
||||
"game-driver/leaf"
|
||||
"game-driver/pkg/logger"
|
||||
"game-driver/logger"
|
||||
"game-driver/pkg/tts"
|
||||
"game-driver/pkg/utils"
|
||||
"github.com/eclipse/paho.golang/autopaho"
|
||||
@@ -25,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 {
|
||||
logger.Panicln("mqtt url parse error: ", err)
|
||||
zap.S().Panicln("mqtt url parse error: ", err)
|
||||
}
|
||||
|
||||
subscriptions := make([]paho.SubscribeOptions, 0)
|
||||
for _, topic := range subTopics {
|
||||
logger.Infoln("订阅主题: ", topic)
|
||||
zap.S().Infoln("订阅主题: ", topic)
|
||||
subscriptions = append(subscriptions, paho.SubscribeOptions{Topic: topic, QoS: 0})
|
||||
}
|
||||
|
||||
@@ -40,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) {
|
||||
logger.Infoln("MQTT 连接成功")
|
||||
zap.S().Infoln("MQTT 连接成功")
|
||||
if _, err := cm.Subscribe(context.Background(), &paho.Subscribe{
|
||||
Subscriptions: subscriptions,
|
||||
}); err != nil {
|
||||
logger.Errorf("failed to subscribe (%s). This is likely to mean no messages will be received.", err)
|
||||
zap.S().Errorf("failed to subscribe (%s). This is likely to mean no messages will be received.", err)
|
||||
return
|
||||
}
|
||||
logger.Infoln("订阅完成")
|
||||
zap.S().Infoln("订阅完成")
|
||||
},
|
||||
OnConnectError: func(err error) {
|
||||
logger.Infof("MQTT 连接异常: %s\n", err)
|
||||
zap.S().Infof("MQTT 连接异常: %s\n", err)
|
||||
},
|
||||
ClientConfig: paho.ClientConfig{
|
||||
ClientID: "TestSubscriber",
|
||||
@@ -60,12 +60,12 @@ func buildMqtt(c config.MqttConfig, r *leaf.Engine, subTopics ...string) autopah
|
||||
return true, nil
|
||||
},
|
||||
},
|
||||
OnClientError: func(err error) { logger.Errorf("client error: %s\n", err) },
|
||||
OnClientError: func(err error) { zap.S().Errorf("client error: %s\n", err) },
|
||||
OnServerDisconnect: func(d *paho.Disconnect) {
|
||||
if d.Properties != nil {
|
||||
logger.Warnf("server requested disconnect: %s\n", d.Properties.ReasonString)
|
||||
zap.S().Warnf("server requested disconnect: %s\n", d.Properties.ReasonString)
|
||||
} else {
|
||||
logger.Warnf("server requested disconnect; reason code: %d\n", d.ReasonCode)
|
||||
zap.S().Warnf("server requested disconnect; reason code: %d\n", d.ReasonCode)
|
||||
}
|
||||
},
|
||||
},
|
||||
@@ -75,6 +75,10 @@ func buildMqtt(c config.MqttConfig, r *leaf.Engine, subTopics ...string) autopah
|
||||
}
|
||||
|
||||
func Run() {
|
||||
logger.InitLogger()
|
||||
// 应用退出时刷新所有缓冲日志
|
||||
defer logger.Sync()
|
||||
|
||||
topicPrefix := fmt.Sprintf("server/%s/%v/", config.C.Location, config.C.Point)
|
||||
publishTopic := fmt.Sprintf("device/%s/%v/status", config.C.Location, config.C.Point)
|
||||
|
||||
@@ -82,14 +86,12 @@ func Run() {
|
||||
defer cancel()
|
||||
|
||||
router := leaf.Default(ctx)
|
||||
// 应用推出时刷新所有缓冲日志
|
||||
defer logger.DefaultLogger.Sync()
|
||||
|
||||
log, _ := zap.NewStdLogAt(logger.DefaultLogger.ZapLogger(), zap.DebugLevel)
|
||||
log, _ := zap.NewStdLogAt(zap.L(), zap.DebugLevel)
|
||||
router.SetDebugLogger(log)
|
||||
|
||||
router.DefaultHandler(func(c *leaf.Context) {
|
||||
logger.Infof("未处理消息,topic: %s\n payload: %s\n", c.Topic, c.Payload)
|
||||
zap.S().Infof("未处理消息,topic: %s\n payload: %s\n", c.Topic, c.Payload)
|
||||
})
|
||||
|
||||
// 构建 MQTT 连接
|
||||
@@ -98,7 +100,7 @@ func Run() {
|
||||
// 连接 MQTT
|
||||
cm, err := autopaho.NewConnection(ctx, mqttBuild)
|
||||
if err != nil {
|
||||
logger.Panicln("连接 MQTT 异常: ", err)
|
||||
zap.S().Panicln("连接 MQTT 异常: ", err)
|
||||
}
|
||||
|
||||
// 构建语音合成对象
|
||||
@@ -106,10 +108,10 @@ func Run() {
|
||||
|
||||
// 构建继电器对象
|
||||
//r, err := relay.New(config.C.Relay, func(msg string) {
|
||||
// logger.Infoln("串口返回: ", msg)
|
||||
// zap.S().Infoln("串口返回: ", msg)
|
||||
//})
|
||||
//if err != nil {
|
||||
// logger.Panicln("串口连接异常: ", err)
|
||||
// zap.S().Panicln("串口连接异常: ", err)
|
||||
//}
|
||||
//defer r.Close()
|
||||
|
||||
@@ -154,13 +156,13 @@ func Run() {
|
||||
signal.Notify(sig, os.Interrupt, syscall.SIGTERM)
|
||||
|
||||
<-sig
|
||||
logger.Infoln("接收到关闭命令 - 正在关闭程序")
|
||||
zap.S().Infoln("接收到关闭命令 - 正在关闭程序")
|
||||
|
||||
ctx, cancel = context.WithTimeout(context.Background(), 5*time.Second)
|
||||
defer cancel()
|
||||
if e := cm.Disconnect(ctx); e != nil {
|
||||
logger.Errorln("断开连接异常", e)
|
||||
zap.S().Errorln("断开连接异常", e)
|
||||
}
|
||||
|
||||
logger.Infoln("关闭完成")
|
||||
zap.S().Infoln("关闭完成")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user