qixiaoning
1 天以前 c3fd4effdef0cc5955f89b5df279b14841e857f5
api-gateway/main.go
@@ -2,6 +2,7 @@
import (
   "context"
   "encoding/json"
   "flag"
   "basic.com/valib/logc.git"
@@ -21,11 +22,15 @@
   "vamicro/api-gateway/traces"
   "vamicro/config"
   "vamicro/extend/util"
   bh "basic.com/valib/c_bhomebus.git/api/bhsgo"
   bhmsg "basic.com/valib/c_bhomebus.git/proto/source/bhome_msg"
)
var (
   procName = service.ProcName
   env      = flag.String("e", "pro", "")
   procName         = service.ProcName
   env              = flag.String("e", "pro", "")
   VaSystemLogTopic = "VaSystemLogSaveTopic"
)
// func init() {
@@ -53,6 +58,17 @@
   ctx, cancel := context.WithCancel(context.Background())
   defer func() {
      logInfo2 := logc.VaSystemLog{
         HostName: "localhost",
         ProcName: "smartai",
         ProcID:   os.Getpid(),
         Level:    logc.LevelInfo,
         Info:     "smartai停止",
      }
      LogDecoderInfo(ctx, logInfo2)
   }()
   q := make(chan os.Signal, 1)
   signal.Notify(q, os.Interrupt, os.Kill, syscall.SIGTERM)
   signal.Ignore(syscall.SIGPIPE)
@@ -65,6 +81,18 @@
      })
      auth.Oauth2Init()
      util.AuthCheck(ctx) //授权检查
      //记录日志
      logInfo := logc.VaSystemLog{
         HostName: "localhost",
         ProcName: "smartai",
         ProcID:   os.Getpid(),
         Level:    logc.LevelInfo,
         Info:     "smartai启动",
      }
      LogDecoderInfo(ctx, logInfo)
      go func() {
         r := gin.Default()
         r.Use(auth.AuthHandler())
@@ -84,3 +112,22 @@
      logger.Debug("client is nil")
   }
}
// 保存系统日志
func LogDecoderInfo(ctx context.Context, logInfo logc.VaSystemLog) {
   logger.Debug("start LogDecoderInfo")
   go func() {
      logData, _ := json.Marshal(logInfo)
      pub := bhmsg.MsgPublish{
         Topic: []byte(VaSystemLogTopic),
         Data:  logData,
      }
      if !bh.Publish(&pub, 1000) {
         logger.Error("LogDecoderInfo %s failed\n", VaSystemLogTopic)
      }
   }()
}