doorm

package
v0.3.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2022 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

该自定义logger可以把gorm的logger对接到dologger 注意,请在此之前初始化dologger

Index

Constants

View Source
const (
	Reset       = "\033[0m"
	Red         = "\033[31m"
	Green       = "\033[32m"
	Yellow      = "\033[33m"
	Blue        = "\033[34m"
	Magenta     = "\033[35m"
	Cyan        = "\033[36m"
	White       = "\033[37m"
	BlueBold    = "\033[34;1m"
	MagentaBold = "\033[35;1m"
	RedBold     = "\033[31;1m"
	YellowBold  = "\033[33;1m"
)

Variables

View Source
var GlobalDB *gorm.DB

Functions

func Close

func Close() error

关闭DB 在主程序退出的时候记得关闭数据库链接

func DB

func DB() *gorm.DB

获取db实例 比起直接使用GlobalDB更加优雅

func InitMysqlDB

func InitMysqlDB(opts GlobalDBOptions) error

初始化mysql客戶端

func InitMysqlDBWithConns

func InitMysqlDBWithConns(opts GlobalDBOptions) error

初始化mysql客戶端,运用了连接池

Types

type GlobalDBOptions

type GlobalDBOptions struct {
	//日志模式
	LogMode   bool
	Dialector gorm.Dialector
	//数据库地址
	DSN string
	//自定义日志,需要实现logger.Interface
	//参考https://gorm.io/zh_CN/docs/logger.html
	Logger logger.Interface
	//连接池参数
	MaxIdleConns    int
	MaxOpenConns    int
	ConnMaxLifetime time.Duration
}

type Logger

type Logger struct {
	logger.Writer
	logger.Config
	// contains filtered or unexported fields
}

func (*Logger) Error

func (l *Logger) Error(ctx context.Context, msg string, data ...interface{})

Error print error messages

func (*Logger) Info

func (l *Logger) Info(ctx context.Context, msg string, data ...interface{})

Info print info

func (*Logger) LogMode

func (l *Logger) LogMode(level logger.LogLevel) logger.Interface

LogMode log mode

func (*Logger) Trace

func (l *Logger) Trace(ctx context.Context, begin time.Time, fc func() (string, int64), err error)

Trace print sql message

func (*Logger) Warn

func (l *Logger) Warn(ctx context.Context, msg string, data ...interface{})

Warn print warn messages

type LoggerInterface

type LoggerInterface interface {
	LogMode(logger.LogLevel) logger.Interface
	Info(context.Context, string, ...interface{})
	Warn(context.Context, string, ...interface{})
	Error(context.Context, string, ...interface{})
	Trace(ctx context.Context, begin time.Time, fc func() (sql string, rowsAffected int64), err error)
}

func NewLogger

func NewLogger(writer logger.Writer, config logger.Config) LoggerInterface

New initialize logger

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL