lib

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2022 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DLTagUndefind      = "_undef"
	DLTagMySqlFailed   = "_com_mysql_failure"
	DLTagRedisFailed   = "_com_redis_failure"
	DLTagMySqlSuccess  = "_com_mysql_success"
	DLTagRedisSuccess  = "_com_redis_success"
	DLTagThriftFailed  = "_com_thrift_failure"
	DLTagThriftSuccess = "_com_thrift_success"
	DLTagHTTPSuccess   = "_com_http_success"
	DLTagHTTPFailed    = "_com_http_failure"
	DLTagTCPFailed     = "_com_tcp_failure"
	DLTagRequestIn     = "_com_request_in"
	DLTagRequestOut    = "_com_request_out"
)

通用DLTag常量定义

Variables

View Source
var ConfEnv string //配置环境名 比如:dev prod test
View Source
var ConfEnvPath string //配置文件夹
View Source
var DBDefaultPool *sql.DB
View Source
var DBMapPool map[string]*sql.DB
View Source
var DateFormat = "2006-01-02"
View Source
var DefaultMysqlGormLogger = MysqlGormLogger{
	LogLevel:      logger.Info,
	SlowThreshold: 200 * time.Millisecond,
}

mysql 日志打印类型

View Source
var DefaultPGSqlGormLogger = PGSqlGormLogger{
	LogLevel:      logger.Info,
	SlowThreshold: 200 * time.Millisecond,
}

DefaultPGSqlGormLogger postgresql 日志打印类型

View Source
var GORMDefaultPool *gorm.DB
View Source
var GORMMapPool map[string]*gorm.DB
View Source
var LocalIP = net.ParseIP("127.0.0.1")
View Source
var TimeFormat = "2006-01-02 15:04:05"
View Source
var TimeLocation *time.Location
View Source
var ViperConfMap map[string]*viper.Viper

Functions

func AddGetDataToUrl

func AddGetDataToUrl(urlString string, data url.Values) string

func CloseDB

func CloseDB() error

func ClosePGDB

func ClosePGDB() error

func CreateBizDLTag

func CreateBizDLTag(tagName string) string

生成业务dltag

func DBPoolLogQuery

func DBPoolLogQuery(trace *TraceContext, sqlDb *sql.DB, query string, args ...interface{}) (*sql.Rows, error)

func Destroy

func Destroy()

公共销毁函数

func Encode

func Encode(data string) (string, error)

func GetBoolConf

func GetBoolConf(key string) bool

获取get配置信息

func GetConf

func GetConf(key string) interface{}

获取get配置信息

func GetConfEnv

func GetConfEnv() string

获取配置环境名

func GetConfFilePath

func GetConfFilePath(fileName string) string

func GetConfPath

func GetConfPath(fileName string) string

func GetDBPool

func GetDBPool(name string) (*sql.DB, error)

func GetDurationConf

func GetDurationConf(key string) time.Duration

获取时间阶段长度

func GetFloat64Conf

func GetFloat64Conf(key string) float64

获取get配置信息

func GetGormPool

func GetGormPool(name string) (*gorm.DB, error)

func GetIntConf

func GetIntConf(key string) int

获取get配置信息

func GetLocalIPs

func GetLocalIPs() (ips []net.IP)

func GetMd5Hash

func GetMd5Hash(text string) string

func GetPGDBPool

func GetPGDBPool(name string) (*sql.DB, error)

func GetPGGormPool

func GetPGGormPool(name string) (*gorm.DB, error)

func GetStringConf

func GetStringConf(key string) string

获取get配置信息

func GetStringMapConf

func GetStringMapConf(key string) map[string]interface{}

获取get配置信息

func GetStringMapStringConf

func GetStringMapStringConf(key string) map[string]string

获取get配置信息

func GetStringSliceConf

func GetStringSliceConf(key string) []string

获取get配置信息

func GetTimeConf

func GetTimeConf(key string) time.Time

获取get配置信息

func GetTraceId

func GetTraceId() (traceId string)

func HttpGET

func HttpGET(trace *TraceContext, urlString string, urlParams url.Values, msTimeout int, header http.Header) (*http.Response, []byte, error)

func HttpJSON

func HttpJSON(trace *TraceContext, urlString string, jsonContent string, msTimeout int, header http.Header) (*http.Response, []byte, error)

func HttpPOST

func HttpPOST(trace *TraceContext, urlString string, urlParams url.Values, msTimeout int, header http.Header, contextType string) (*http.Response, []byte, error)

func InArrayString

func InArrayString(s string, arr []string) bool

func Init

func Init(configPath string) error

公共初始化函数:支持两种方式设置配置文件

函数传入配置文件 Init("./conf/dev/") 如果配置文件为空,会从命令行中读取 -config conf/dev/

func InitBaseConf

func InitBaseConf(path string) error

func InitDBPool

func InitDBPool(path string) error

func InitModule

func InitModule(configPath string, modules []string) error

模块初始化

func InitPGDBPool

func InitPGDBPool(path string) error

InitPGDBPool 初始化pgsql连接池

func InitRedisConf

func InitRedisConf(path string) error

func InitViperConf

func InitViperConf() error

初始化配置文件

func IsSetConf

func IsSetConf(key string) bool

是否设置了key

func NewSpanId

func NewSpanId() string

func PGDBPoolLogQuery

func PGDBPoolLogQuery(trace *TraceContext, sqlDb *sql.DB, query string, args ...interface{}) (*sql.Rows, error)

func ParseConfPath

func ParseConfPath(config string) error

解析配置文件目录

配置文件必须放到一个文件夹中 如:config=conf/dev/base.json ConfEnvPath=conf/dev ConfEnv=dev 如:config=conf/base.json ConfEnvPath=conf ConfEnv=conf

func ParseConfig

func ParseConfig(path string, conf interface{}) error

func ParseLocalConfig

func ParseLocalConfig(fileName string, st interface{}) error

本地解析文件

func ParseServerAddr

func ParseServerAddr(serverAddr string) (host, port string)

func RedisConfDo

func RedisConfDo(trace *TraceContext, name string, commandName string, args ...interface{}) (interface{}, error)

通过配置 执行redis

func RedisConnFactory

func RedisConnFactory(name string) (redis.Conn, error)

func RedisLogDo

func RedisLogDo(trace *TraceContext, c redis.Conn, commandName string, args ...interface{}) (interface{}, error)

func SetGinTraceContext

func SetGinTraceContext(c *gin.Context, trace *TraceContext) error

func SetTraceContext

func SetTraceContext(ctx context.Context, trace *TraceContext) context.Context

func Substr

func Substr(str string, start int64, end int64) string

Substr 字符串的截取

Types

type BaseConf

type BaseConf struct {
	DebugMode    string    `mapstructure:"debug_mode"`
	TimeLocation string    `mapstructure:"time_location"`
	Log          LogConfig `mapstructure:"log"`
	Base         struct {
		DebugMode    string `mapstructure:"debug_mode"`
		TimeLocation string `mapstructure:"time_location"`
	} `mapstructure:"base"`
}
var ConfBase *BaseConf

全局变量

func GetBaseConf

func GetBaseConf() *BaseConf

获取基本配置信息

type LogConfConsoleWriter

type LogConfConsoleWriter struct {
	On    bool `mapstructure:"on"`
	Color bool `mapstructure:"color"`
}

type LogConfFileWriter

type LogConfFileWriter struct {
	On              bool   `mapstructure:"on"`
	LogPath         string `mapstructure:"log_path"`
	RotateLogPath   string `mapstructure:"rotate_log_path"`
	WfLogPath       string `mapstructure:"wf_log_path"`
	RotateWfLogPath string `mapstructure:"rotate_wf_log_path"`
}

type LogConfig

type LogConfig struct {
	Level string               `mapstructure:"log_level"`
	FW    LogConfFileWriter    `mapstructure:"file_writer"`
	CW    LogConfConsoleWriter `mapstructure:"console_writer"`
}

type Logger

type Logger struct {
}
var Log *Logger

func (*Logger) Close

func (l *Logger) Close()

func (*Logger) TagDebug

func (l *Logger) TagDebug(trace *TraceContext, dltag string, m map[string]interface{})

func (*Logger) TagError

func (l *Logger) TagError(trace *TraceContext, dltag string, m map[string]interface{})

func (*Logger) TagInfo

func (l *Logger) TagInfo(trace *TraceContext, dltag string, m map[string]interface{})

func (*Logger) TagTrace

func (l *Logger) TagTrace(trace *TraceContext, dltag string, m map[string]interface{})

func (*Logger) TagWarn

func (l *Logger) TagWarn(trace *TraceContext, dltag string, m map[string]interface{})

type MySQLConf

type MySQLConf struct {
	DriverName      string `mapstructure:"driver_name"`
	DataSourceName  string `mapstructure:"data_source_name"`
	MaxOpenConn     int    `mapstructure:"max_open_conn"`
	MaxIdleConn     int    `mapstructure:"max_idle_conn"`
	MaxConnLifeTime int    `mapstructure:"max_conn_life_time"`
}

type MysqlGormLogger

type MysqlGormLogger struct {
	LogLevel      logger.LogLevel
	SlowThreshold time.Duration
}

func (*MysqlGormLogger) Error

func (mgl *MysqlGormLogger) Error(ctx context.Context, message string, values ...interface{})

func (*MysqlGormLogger) Info

func (mgl *MysqlGormLogger) Info(ctx context.Context, message string, values ...interface{})

func (*MysqlGormLogger) LogMode

func (mgl *MysqlGormLogger) LogMode(logLevel logger.LogLevel) logger.Interface

func (*MysqlGormLogger) Trace

func (mgl *MysqlGormLogger) Trace(ctx context.Context, begin time.Time, fc func() (sql string, rowsAffected int64), err error)

func (*MysqlGormLogger) Warn

func (mgl *MysqlGormLogger) Warn(ctx context.Context, message string, values ...interface{})

type MysqlMapConf

type MysqlMapConf struct {
	List map[string]*MySQLConf `mapstructure:"list"`
}

type PGSqlConf

type PGSqlConf struct {
	DriverName      string `mapstructure:"driver_name"`
	Path            string `mapstructure:"url"`
	Username        string `mapstructure:"username"`
	Password        string `mapstructure:"password"`
	Dbname          string `mapstructure:"dbname"`
	Port            string `mapstructure:"port"`
	Config          string `mapstructure:"config"`
	MaxOpenConn     int    `mapstructure:"max_open_conn"`
	MaxIdleConn     int    `mapstructure:"max_idle_conn"`
	MaxConnLifeTime int    `mapstructure:"max_conn_life_time"`
}

type PGSqlGormLogger

type PGSqlGormLogger struct {
	LogLevel      logger.LogLevel
	SlowThreshold time.Duration
}

func (*PGSqlGormLogger) Error

func (mgl *PGSqlGormLogger) Error(ctx context.Context, message string, values ...interface{})

func (*PGSqlGormLogger) Info

func (mgl *PGSqlGormLogger) Info(ctx context.Context, message string, values ...interface{})

func (*PGSqlGormLogger) LogMode

func (mgl *PGSqlGormLogger) LogMode(logLevel logger.LogLevel) logger.Interface

func (*PGSqlGormLogger) Trace

func (mgl *PGSqlGormLogger) Trace(ctx context.Context, begin time.Time, fc func() (sql string, rowsAffected int64), err error)

func (*PGSqlGormLogger) Warn

func (mgl *PGSqlGormLogger) Warn(ctx context.Context, message string, values ...interface{})

type PGSqlMapConf

type PGSqlMapConf struct {
	List map[string]*PGSqlConf `mapstructure:"list"`
}

type RedisConf

type RedisConf struct {
	ProxyList    []string `mapstructure:"proxy_list"`
	Password     string   `mapstructure:"password"`
	Db           int      `mapstructure:"db"`
	ConnTimeout  int      `mapstructure:"conn_timeout"`
	ReadTimeout  int      `mapstructure:"read_timeout"`
	WriteTimeout int      `mapstructure:"write_timeout"`
}
var ConfRedis *RedisConf

type RedisMapConf

type RedisMapConf struct {
	List map[string]*RedisConf `mapstructure:"list"`
}
var ConfRedisMap *RedisMapConf

type Trace

type Trace struct {
	TraceId     string
	SpanId      string
	Caller      string
	SrcMethod   string
	HintCode    int64
	HintContent string
}

type TraceContext

type TraceContext struct {
	Trace
	CSpanId string
}

func GetTraceContext

func GetTraceContext(ctx context.Context) *TraceContext

func NewTrace

func NewTrace() *TraceContext

Jump to

Keyboard shortcuts

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