完成日志输出到文件、终端多处的处理
This commit is contained in:
@@ -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