| | |
| | | package main |
| | | |
| | | import ( |
| | | "context" |
| | | "encoding/json" |
| | | "flag" |
| | | |
| | | "basic.com/valib/logc.git" |
| | | "basic.com/valib/logger.git" |
| | | "basic.com/valib/version.git" |
| | | "context" |
| | | "flag" |
| | | vaversion "basic.com/valib/version.git" |
| | | "github.com/gin-gonic/gin" |
| | | // "net/http" |
| | | // _ "net/http/pprof" |
| | | |
| | | // "net/http" |
| | | // _ "net/http/pprof" |
| | | "os" |
| | | "os/signal" |
| | | "syscall" |
| | |
| | | "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() { |
| | | // func init() { |
| | | func sinit() { |
| | | flag.Parse() |
| | | //控制台打印版本 |
| | | vaversion.Usage() |
| | | |
| | | config.Init(*env) |
| | | // 日志初始化 |
| | | var logFile = config.LogConf.Path + "vamicro-"+procName+".log" |
| | | var logFile = config.LogConf.Path + "vamicro-" + procName + ".log" |
| | | logger.InitLogger(logFile, config.LogConf.Level, config.LogConf.MaxSize, config.LogConf.MaxBackups, config.LogConf.MaxAge) |
| | | logger.Info("log init success !") |
| | | } |
| | |
| | | // logger.Info(http.ListenAndServe("0.0.0.0:6077", nil)) |
| | | //}() |
| | | |
| | | sinit() |
| | | sinit() |
| | | models.Init() |
| | | defer models.CloseDB() |
| | | |
| | | 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) |
| | |
| | | }) |
| | | 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()) |
| | |
| | | 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) |
| | | } |
| | | |
| | | }() |
| | | } |