package main
import (
log "github.com/sirupsen/logrus"
"./execs"
"./commons"
_ "./connectors"
"./controllers"
"github.com/astaxie/beego"
"./services"
"github.com/lestrrat/go-file-rotatelogs"
"time"
"github.com/rifflock/lfshook"
"github.com/pkg/errors"
)
func init() {
//baseLogPaht := "D:/logs/MQlog/mqRec"
baseLogPaht := commons.LogConfig.Path
writer, err := rotatelogs.New(
baseLogPaht+"%Y%m%d%H%M",
//rotatelogs.WithLinkName(baseLogPaht), // 生成软链,指向最新日志文件
rotatelogs.WithMaxAge(30*24*time.Hour), // 文件最大保存时间
rotatelogs.WithRotationTime(24*time.Hour), // 日志切割时间间隔
)
if err != nil {
log.Errorf("config local file system logger error. %+v", errors.WithStack(err))
}
lfHook := lfshook.NewHook(lfshook.WriterMap{
//log.DebugLevel: writer, // 为不同级别设置不同的输出目的
//log.InfoLevel: writer,
//log.WarnLevel: writer,
log.ErrorLevel: writer,
//log.FatalLevel: os.Stdout,
//log.PanicLevel: os.Stdout,
}, &log.JSONFormatter{})
lfHook.SetFormatter(&log.JSONFormatter{})
log.SetLevel(log.InfoLevel)
log.AddHook(lfHook)
//log.SetFormatter(&log.JSONFormatter{})
//file, err := os.OpenFile(commons.LogConfig.Path, os.O_CREATE|os.O_WRONLY, 0666)
//if err == nil {
// log.SetOutput(file)
//} else {
// panic(fmt.Sprintf("%s: %s", "日志文件打开错误", err))
//}
//
//switch strings.ToUpper(commons.LogConfig.Level) {
//case "DEBUG":
// log.SetLevel(log.DebugLevel)
//case "INFO":
// log.SetLevel(log.InfoLevel)
//case "WARN":
// log.SetLevel(log.WarnLevel)
//case "ERROR":
// log.SetLevel(log.ErrorLevel)
//default:
// log.SetLevel(log.DebugLevel)
//}
//beego.Router("/", &controllers.PageController{})
//beego.Router("/control", &controllers.PageControlController{})
ns_api_v1 := beego.NewNamespace("v1",
//beego.NSCond(func(ctx *context.Context) bool {
// if ctx.Input.Header("authorization") == "4d1ec7ec57bced3f51489047561fb562" {
// return true
// }
//
// ctx.Output.JSON(commons.StatusBuilder(commons.AUTHORIZATION_ERROR, "token验证失败", ""), false, false)
// return false
//}),
beego.NSRouter("/", &controllers.InitController{}, "get:Find"), // 核心地图数据
)
beego.AddNamespace(ns_api_v1)
}
func main() {
execs.Starts()
go services.CoreMachineWarnService()
go services.MqConsumer()
//beego.SetStaticPath("/public", "public")
//beego.SetStaticPath("/control", "control")
beego.Run()
}
网友评论