log

作者: Feng_Sir | 来源:发表于2018-03-16 16:48 被阅读0次
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()
}

相关文章

网友评论

      本文标题:log

      本文链接:https://www.haomeiwen.com/subject/njrrqftx.html