混入日志包

This commit is contained in:
pixelqm
2019-09-04 15:56:49 +08:00
parent 8eae7f186f
commit 3c16f8a360
7 changed files with 54 additions and 39 deletions
@@ -8,6 +8,7 @@ import (
"main/router"
)
//初始化总路由
func InitRouter() *gin.Engine {
var Router = gin.Default()
Router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
+36
View File
@@ -0,0 +1,36 @@
package qmlog
// 日志初始化包 调用qmlog.QMLog.Info 记录日志 24小时切割 日志保存7天 可自行设置
import (
"fmt"
rotatelogs "github.com/lestrrat/go-file-rotatelogs"
"github.com/rifflock/lfshook"
"github.com/sirupsen/logrus"
"os"
"time"
)
var QMLog = logrus.New()
//禁止logrus的输出
func InitLog() {
src, err := os.OpenFile(os.DevNull, os.O_APPEND|os.O_WRONLY, os.ModeAppend)
if err != nil {
fmt.Println("err", err)
}
QMLog.Out = src
QMLog.SetLevel(logrus.DebugLevel)
apiLogPath := "api.log"
logWriter, err := rotatelogs.New(
apiLogPath+".%Y-%m-%d-%H-%M.log",
rotatelogs.WithLinkName(apiLogPath), // 生成软链,指向最新日志文件
rotatelogs.WithMaxAge(7*24*time.Hour), // 文件最大保存时间
rotatelogs.WithRotationTime(24*time.Hour), // 日志切割时间间隔
)
writeMap := lfshook.WriterMap{
logrus.InfoLevel: logWriter,
logrus.FatalLevel: logWriter,
}
lfHook := lfshook.NewHook(writeMap, &logrus.JSONFormatter{})
QMLog.AddHook(lfHook)
}
@@ -1,4 +1,4 @@
package mysql
package qmsql
import (
"github.com/jinzhu/gorm"
@@ -9,6 +9,7 @@ import (
var DEFAULTDB *gorm.DB
//初始化数据库并产生数据库全局变量
func InitMysql(admin config.Admin) *gorm.DB {
if db, err := gorm.Open("mysql", admin.UserName+":"+admin.Password+"@("+admin.Path+")/"+admin.Dbname+"?"+admin.Config); err != nil {
log.Printf("DEFAULTDB数据库启动异常%S", err)
@@ -5,6 +5,7 @@ import (
"main/model/dbModel"
)
//注册数据库表专用
func RegistTable(db *gorm.DB) {
db.AutoMigrate(dbModel.User{})
}