Adjust log module

This commit is contained in:
Granty1
2020-03-24 13:34:03 +08:00
parent f01d15867e
commit d4a05fce7b
13 changed files with 271 additions and 89 deletions
+4 -4
View File
@@ -1,14 +1,14 @@
package initRedis
import (
"fmt"
"gin-vue-admin/config"
"gin-vue-admin/init/log"
"github.com/go-redis/redis"
)
var DEFAULTREDIS *redis.Client
func InitRedis() (client *redis.Client) {
func InitRedis(logger log.Logger) (client *redis.Client) {
client = redis.NewClient(&redis.Options{
Addr: config.GinVueAdminconfig.RedisAdmin.Addr,
Password: config.GinVueAdminconfig.RedisAdmin.Password, // no password set
@@ -16,9 +16,9 @@ func InitRedis() (client *redis.Client) {
})
pong, err := client.Ping().Result()
if err != nil {
fmt.Println(pong, err)
logger.Error(err)
} else {
fmt.Println(pong, err)
logger.Info("redis connect ping response:", pong)
DEFAULTREDIS = client
}
return client
+13 -5
View File
@@ -2,6 +2,7 @@ package initRouter
import (
_ "gin-vue-admin/docs"
"gin-vue-admin/init/log"
"gin-vue-admin/middleware"
"gin-vue-admin/router"
"github.com/gin-gonic/gin"
@@ -10,14 +11,20 @@ import (
)
//初始化总路由
func InitRouter() *gin.Engine {
func InitRouter(logger log.Logger) *gin.Engine {
var Router = gin.Default()
//Router.Use(middleware.LoadTls()) // 打开就能玩https了
Router.Use(middleware.Logger()) // 如果不需要日志 请关闭这里
Router.Use(middleware.Cors()) // 跨域
// 如果不需要日志 请关闭这里
Router.Use(middleware.LoggerMiddlewareFactory(logger))
logger.Debug("use middleware logger")
// 跨域
Router.Use(middleware.CorsMiddlewareFactory())
logger.Debug("use middleware cors")
Router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
ApiGroup := Router.Group("") // 方便统一添加路由组前缀 多服务器上线使用
//Router.Use(middleware.Logger())
logger.Debug("register swagger handler")
// 方便统一添加路由组前缀 多服务器上线使用
ApiGroup := Router.Group("")
router.InitUserRouter(ApiGroup) // 注册用户路由
router.InitBaseRouter(ApiGroup) // 注册基础功能路由 不做鉴权
router.InitMenuRouter(ApiGroup) // 注册menu路由
@@ -29,5 +36,6 @@ func InitRouter() *gin.Engine {
router.InitJwtRouter(ApiGroup) // jwt相关路由
router.InitSystemRouter(ApiGroup) // system相关路由
router.InitCustomerRouter(ApiGroup) // 客户路由
logger.Info("router register success")
return Router
}
-43
View File
@@ -1,43 +0,0 @@
package qmlog
// 日志初始化包 调用qmlog.QMLog.Info 记录日志 24小时切割 日志保存7天 可自行设置
import (
"fmt"
"gin-vue-admin/tools"
rotatelogs "github.com/lestrrat/go-file-rotatelogs"
"github.com/rifflock/lfshook"
"github.com/sirupsen/logrus"
"os"
"time"
)
var QMLog = logrus.New()
//禁止logrus的输出
func InitLog() *logrus.Logger {
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)
if ok, _ := tools.PathExists("./log"); !ok {
// Directory not exist
fmt.Println("Create log.")
_ = os.Mkdir("log", os.ModePerm)
}
apiLogPath := "./log/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)
return QMLog
}
+3 -3
View File
@@ -2,17 +2,17 @@ package qmsql
import (
"gin-vue-admin/config"
"gin-vue-admin/init/log"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
"log"
)
var DEFAULTDB *gorm.DB
//初始化数据库并产生数据库全局变量
func InitMysql(admin config.MysqlAdmin) *gorm.DB {
func InitMysql(admin config.MysqlAdmin, logger log.Logger) *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)
logger.Error("DEFAULTDB数据库启动异常",err)
} else {
DEFAULTDB = db
DEFAULTDB.DB().SetMaxIdleConns(10)
@@ -1,13 +1,14 @@
package registTable
import (
"gin-vue-admin/init/log"
"gin-vue-admin/model/dbModel"
"gin-vue-admin/model/sysModel"
"github.com/jinzhu/gorm"
)
//注册数据库表专用
func RegistTable(db *gorm.DB) {
func RegistTable(db *gorm.DB, logger log.Logger) {
db.AutoMigrate(sysModel.SysUser{},
sysModel.SysAuthority{},
sysModel.SysMenu{},
@@ -21,4 +22,5 @@ func RegistTable(db *gorm.DB) {
dbModel.ExaFileChunk{},
dbModel.ExaCustomer{},
)
logger.Debug("register table success")
}