mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-21 18:20:50 +00:00
增加go-admin日志规范用法
This commit is contained in:
@@ -1,16 +1,16 @@
|
|||||||
package sysjob
|
package sysjob
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"go-admin/app/admin/service"
|
|
||||||
"go-admin/common/apis"
|
|
||||||
"go-admin/common/dto"
|
|
||||||
"gorm.io/gorm"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"go-admin/app/admin/models"
|
"go-admin/app/admin/models"
|
||||||
|
"go-admin/app/admin/service"
|
||||||
"go-admin/app/jobs"
|
"go-admin/app/jobs"
|
||||||
|
"go-admin/common/apis"
|
||||||
|
"go-admin/common/dto"
|
||||||
|
"go-admin/common/log"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
"go-admin/tools/app/msg"
|
"go-admin/tools/app/msg"
|
||||||
@@ -22,40 +22,54 @@ type SysJob struct {
|
|||||||
|
|
||||||
// RemoveJobForService 调用service实现
|
// RemoveJobForService 调用service实现
|
||||||
func (e *SysJob) RemoveJobForService(c *gin.Context) {
|
func (e *SysJob) RemoveJobForService(c *gin.Context) {
|
||||||
|
msgID := e.GenerateMsgIDFromContext(c)
|
||||||
db, err := e.GetOrm(c)
|
db, err := e.GetOrm(c)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Errorf("msgID[%s] error:%#v", msgID, err)
|
||||||
app.Error(c, 500, err, "")
|
app.Error(c, 500, err, "")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
var v dto.GeneralDelDto
|
var v dto.GeneralDelDto
|
||||||
err = c.BindUri(&v)
|
err = c.BindUri(&v)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Errorf("msgID[%s] 参数验证错误, error:%#v", msgID, err)
|
||||||
app.Error(c, 422, err, "参数验证失败")
|
app.Error(c, 422, err, "参数验证失败")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
s := service.SysJob{}
|
s := service.SysJob{}
|
||||||
|
s.MsgID = msgID
|
||||||
s.Orm = db
|
s.Orm = db
|
||||||
err = s.RemoveJob(&v)
|
err = s.RemoveJob(&v)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
app.Error(c, 500, err, "")
|
app.Error(c, 500, err, "")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
app.OK(c, nil, s.Msg)
|
app.OK(c, nil, s.Msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
// StartJobForService 启动job service实现
|
// StartJobForService 启动job service实现
|
||||||
func (e *SysJob) StartJobForService(c *gin.Context) {
|
func (e *SysJob) StartJobForService(c *gin.Context) {
|
||||||
|
msgID := e.GenerateMsgIDFromContext(c)
|
||||||
db, err := e.GetOrm(c)
|
db, err := e.GetOrm(c)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Errorf("msgID[%s] error:%#v", msgID, err)
|
||||||
app.Error(c, 500, err, "")
|
app.Error(c, 500, err, "")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
var v dto.GeneralGetDto
|
var v dto.GeneralGetDto
|
||||||
err = c.BindUri(&v)
|
err = c.BindUri(&v)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Errorf("msgID[%s] 参数验证错误, error:%#v", msgID, err)
|
||||||
app.Error(c, 422, err, "参数验证失败")
|
app.Error(c, 422, err, "参数验证失败")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
s := service.SysJob{}
|
s := service.SysJob{}
|
||||||
s.Orm = db
|
s.Orm = db
|
||||||
|
s.MsgID = msgID
|
||||||
err = s.StartJob(&v)
|
err = s.StartJob(&v)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
app.Error(c, 500, err, "")
|
app.Error(c, 500, err, "")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
app.OK(c, nil, s.Msg)
|
app.OK(c, nil, s.Msg)
|
||||||
}
|
}
|
||||||
@@ -82,34 +96,6 @@ func RemoveJob(c *gin.Context) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// StartJobForService 启动job service实现
|
|
||||||
func StartJobForService(c *gin.Context) {
|
|
||||||
var err error
|
|
||||||
idb, exist := c.Get("db")
|
|
||||||
if !exist {
|
|
||||||
app.Error(c, 500, nil, "db connect not exist")
|
|
||||||
}
|
|
||||||
switch idb.(type) {
|
|
||||||
case *gorm.DB:
|
|
||||||
//新增操作
|
|
||||||
db := idb.(*gorm.DB)
|
|
||||||
var v dto.GeneralGetDto
|
|
||||||
err = c.BindUri(&v)
|
|
||||||
if err != nil {
|
|
||||||
app.Error(c, 422, err, "参数验证失败")
|
|
||||||
}
|
|
||||||
s := service.SysJob{}
|
|
||||||
s.Orm = db
|
|
||||||
err = s.StartJob(&v)
|
|
||||||
if err != nil {
|
|
||||||
app.Error(c, 500, err, "")
|
|
||||||
}
|
|
||||||
app.OK(c, nil, s.Msg)
|
|
||||||
default:
|
|
||||||
app.Error(c, 500, nil, "db connect not exist")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func StartJob(c *gin.Context) {
|
func StartJob(c *gin.Context) {
|
||||||
var data models.SysJob
|
var data models.SysJob
|
||||||
var v dto.GeneralGetDto
|
var v dto.GeneralGetDto
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import (
|
|||||||
"go-admin/app/admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/app/jobs"
|
"go-admin/app/jobs"
|
||||||
"go-admin/common/dto"
|
"go-admin/common/dto"
|
||||||
|
"go-admin/common/log"
|
||||||
"go-admin/common/service"
|
"go-admin/common/service"
|
||||||
"go-admin/tools/app/msg"
|
"go-admin/tools/app/msg"
|
||||||
"time"
|
"time"
|
||||||
@@ -17,9 +18,11 @@ type SysJob struct {
|
|||||||
func (e *SysJob) RemoveJob(c *dto.GeneralDelDto) error {
|
func (e *SysJob) RemoveJob(c *dto.GeneralDelDto) error {
|
||||||
var err error
|
var err error
|
||||||
var data models.SysJob
|
var data models.SysJob
|
||||||
|
msgID := e.MsgID
|
||||||
data.JobId = c.Id
|
data.JobId = c.Id
|
||||||
err = e.Orm.Table(data.TableName()).First(&data).Error
|
err = e.Orm.Table(data.TableName()).First(&data).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Errorf("msgID[%s] db error:%#v", msgID, err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
cn := jobs.Remove(data.EntryId)
|
cn := jobs.Remove(data.EntryId)
|
||||||
@@ -28,6 +31,9 @@ func (e *SysJob) RemoveJob(c *dto.GeneralDelDto) error {
|
|||||||
case res := <-cn:
|
case res := <-cn:
|
||||||
if res {
|
if res {
|
||||||
err = e.Orm.Table(data.TableName()).Where("entry_id = ?", data.EntryId).Update("entry_id", 0).Error
|
err = e.Orm.Table(data.TableName()).Where("entry_id = ?", data.EntryId).Update("entry_id", 0).Error
|
||||||
|
if err != nil {
|
||||||
|
log.Errorf("msgID[%s] db error:%#v", msgID, err)
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
case <-time.After(time.Second * 1):
|
case <-time.After(time.Second * 1):
|
||||||
@@ -41,8 +47,10 @@ func (e *SysJob) RemoveJob(c *dto.GeneralDelDto) error {
|
|||||||
func (e *SysJob) StartJob(c *dto.GeneralGetDto) error {
|
func (e *SysJob) StartJob(c *dto.GeneralGetDto) error {
|
||||||
var data models.SysJob
|
var data models.SysJob
|
||||||
var err error
|
var err error
|
||||||
|
msgID := e.MsgID
|
||||||
err = e.Orm.Table(data.TableName()).First(&data, c.Id).Error
|
err = e.Orm.Table(data.TableName()).First(&data, c.Id).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Errorf("msgID[%s] db error:%#v", msgID, err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if data.JobType == 1 {
|
if data.JobType == 1 {
|
||||||
@@ -52,6 +60,9 @@ func (e *SysJob) StartJob(c *dto.GeneralGetDto) error {
|
|||||||
j.JobId = data.JobId
|
j.JobId = data.JobId
|
||||||
j.Name = data.JobName
|
j.Name = data.JobName
|
||||||
data.EntryId, err = jobs.AddJob(j)
|
data.EntryId, err = jobs.AddJob(j)
|
||||||
|
if err != nil {
|
||||||
|
log.Errorf("msgID[%s] jobs AddJob[HttpJob] error:%#v", msgID, err)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
var j = &jobs.ExecJob{}
|
var j = &jobs.ExecJob{}
|
||||||
j.InvokeTarget = data.InvokeTarget
|
j.InvokeTarget = data.InvokeTarget
|
||||||
@@ -60,11 +71,17 @@ func (e *SysJob) StartJob(c *dto.GeneralGetDto) error {
|
|||||||
j.Name = data.JobName
|
j.Name = data.JobName
|
||||||
j.Args = data.Args
|
j.Args = data.Args
|
||||||
data.EntryId, err = jobs.AddJob(j)
|
data.EntryId, err = jobs.AddJob(j)
|
||||||
|
if err != nil {
|
||||||
|
log.Errorf("msgID[%s] jobs AddJob[ExecJob] error:%#v", msgID, err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = e.Orm.Table(data.TableName()).Where(c.Id).Updates(&data).Error
|
err = e.Orm.Table(data.TableName()).Where(c.Id).Updates(&data).Error
|
||||||
|
if err != nil {
|
||||||
|
log.Errorf("msgID[%s] db error:%#v", msgID, err)
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
+19
-2
@@ -2,7 +2,10 @@ package apis
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
"github.com/google/uuid"
|
||||||
|
"github.com/spf13/cast"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -11,15 +14,29 @@ type Api struct {
|
|||||||
|
|
||||||
// GetOrm 获取orm连接
|
// GetOrm 获取orm连接
|
||||||
func (e *Api) GetOrm(c *gin.Context) (*gorm.DB, error) {
|
func (e *Api) GetOrm(c *gin.Context) (*gorm.DB, error) {
|
||||||
|
msgID := e.GenerateMsgIDFromContext(c)
|
||||||
idb, exist := c.Get("db")
|
idb, exist := c.Get("db")
|
||||||
if !exist {
|
if !exist {
|
||||||
return nil, errors.New("db connect not exist")
|
return nil, errors.New(fmt.Sprintf("msgID[%s], db connect not exist", msgID))
|
||||||
}
|
}
|
||||||
switch idb.(type) {
|
switch idb.(type) {
|
||||||
case *gorm.DB:
|
case *gorm.DB:
|
||||||
//新增操作
|
//新增操作
|
||||||
return idb.(*gorm.DB), nil
|
return idb.(*gorm.DB), nil
|
||||||
default:
|
default:
|
||||||
return nil, errors.New("db connect not exist")
|
return nil, errors.New(fmt.Sprintf("msgID[%s], db connect not exist", msgID))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GenerateMsgIDFromContext 生成msgID
|
||||||
|
func (e *Api) GenerateMsgIDFromContext(c *gin.Context) string {
|
||||||
|
var msgID string
|
||||||
|
data, ok := c.Get("msgID")
|
||||||
|
if !ok {
|
||||||
|
msgID = uuid.New().String()
|
||||||
|
c.Set("msgID", msgID)
|
||||||
|
return msgID
|
||||||
|
}
|
||||||
|
msgID = cast.ToString(data)
|
||||||
|
return msgID
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,63 @@
|
|||||||
|
package log
|
||||||
|
|
||||||
|
import "go-admin/logger"
|
||||||
|
|
||||||
|
// Trace trace级日志输出
|
||||||
|
func Trace(args ...interface{}) {
|
||||||
|
logger.DefaultLogger.Log(logger.TraceLevel, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Trace trace级日志输出
|
||||||
|
func Tracef(format string, args ...interface{}) {
|
||||||
|
logger.DefaultLogger.Logf(logger.TraceLevel, format, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Debug debug级日志输出
|
||||||
|
func Debug(args ...interface{}) {
|
||||||
|
logger.DefaultLogger.Log(logger.TraceLevel, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Debugf debug级日志输出
|
||||||
|
func Debugf(format string, args ...interface{}) {
|
||||||
|
logger.DefaultLogger.Logf(logger.TraceLevel, format, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Info info级日志输出
|
||||||
|
func Info(args ...interface{}) {
|
||||||
|
logger.DefaultLogger.Log(logger.TraceLevel, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Infof info级日志输出
|
||||||
|
func Infof(format string, args ...interface{}) {
|
||||||
|
logger.DefaultLogger.Logf(logger.TraceLevel, format, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Warn warn级日志输出
|
||||||
|
func Warn(args ...interface{}) {
|
||||||
|
logger.DefaultLogger.Log(logger.TraceLevel, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Warnf warn级日志输出
|
||||||
|
func Warnf(format string, args ...interface{}) {
|
||||||
|
logger.DefaultLogger.Logf(logger.TraceLevel, format, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error error级日志输出
|
||||||
|
func Error(args ...interface{}) {
|
||||||
|
logger.DefaultLogger.Log(logger.TraceLevel, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Errorf error级日志输出
|
||||||
|
func Errorf(format string, args ...interface{}) {
|
||||||
|
logger.DefaultLogger.Logf(logger.TraceLevel, format, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fatal fatal级日志输出
|
||||||
|
func Fatal(args ...interface{}) {
|
||||||
|
logger.DefaultLogger.Log(logger.TraceLevel, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fatalf fatal级日志输出
|
||||||
|
func Fatalf(format string, args ...interface{}) {
|
||||||
|
logger.DefaultLogger.Logf(logger.TraceLevel, format, args...)
|
||||||
|
}
|
||||||
@@ -3,6 +3,7 @@ package service
|
|||||||
import "gorm.io/gorm"
|
import "gorm.io/gorm"
|
||||||
|
|
||||||
type Service struct {
|
type Service struct {
|
||||||
Orm *gorm.DB
|
Orm *gorm.DB
|
||||||
Msg string
|
Msg string
|
||||||
|
MsgID string
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user