common

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: May 30, 2024 License: MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// InternalIPv4 服务器 IP
	InternalIPv4 string
	ExternalIPv4 string
)
View Source
var (
	// Log 通用日志, Debug 时输出到控制台, 否则写入日志文件
	Log zerolog.Logger

	// LogSampled 抽样日志
	LogSampled zerolog.Logger

	// LogAlarm 报警日志, 写入通用日志并发送报警
	LogAlarm zerolog.Logger
)
View Source
var (
	// StartTime 系统启动时间
	StartTime = time.Now()

	// ClockOffsetLimit 允许的时间偏差, 1 秒内偏差不更新 clockOffset
	ClockOffsetLimit = float64(1 * time.Second)

	// ClockOffsetAdjust 当时间偏差需要修正时, 默认拨快 10ms
	ClockOffsetAdjust = int64(10 * time.Millisecond)

	// ClockOffsetMinInterval 同步时间的单次执行间隔
	ClockOffsetMinInterval = 20 * time.Second
	ClockOffsetInterval    = 2 * time.Hour
)
View Source
var (
	// ReqUpload HTTP 文件上传客户端 (调试模式不显示上传文件内容, 无超时时间)
	ReqUpload *req.Client

	// ReqDownload HTTP 文件下载客户端 (调试模式不显示下载文件内容, 无超时时间)
	ReqDownload *req.Client
)

Funcs 通用函数集合, 用于远程配置获取等场景

View Source
var (
	// LogChan 日志缓存队列
	LogChan *chanx.UnboundedChanOf[[]byte]
)
View Source
var RedisDB redis.UniversalClient

RedisDB Redis 连接

Functions

func ClockOffsetChanRedis added in v0.0.9

func ClockOffsetChanRedis(ctx context.Context, interval time.Duration, rdb redis.UniversalClient) chan time.Duration

ClockOffsetChanRedis 基于 Redis, 周期性获取时钟偏移值

func GTimeNow

func GTimeNow() time.Time

GTimeNow 全局统一时间

func GTimeNowString

func GTimeNowString(layout string) string

GTimeNowString 全局统一时间并格式化

func GTimestamp

func GTimestamp() int64

GTimestamp 全局统一时间戳

func GenAlarmData

func GenAlarmData(code string, bs []byte) []byte

GenAlarmData 错误日志转换为报警信息

func GenAlarmJson

func GenAlarmJson(code, info, more string) []byte

GenAlarmJson 整合报警消息

func GenSign added in v0.3.2

func GenSign(ts int64, key string) string

GenSign 使用时间戳和密钥生成简单签名字符串 算法: md5(ts+key) 结果: ts+sign

func GenSignNow added in v0.4.0

func GenSignNow(key string) (int64, string)

GenSignNow 以当前时间时间戳生成签名

func GenSignString added in v0.3.2

func GenSignString(ts, key string) string

GenSignString 字符串类型的时间戳生成签名

func GetClockOffset

func GetClockOffset() time.Duration

GetClockOffset 获取时钟偏移值

func InitRedisDB added in v0.0.9

func InitRedisDB(rdb redis.UniversalClient)

InitRedisDB 指定已初始化的 *redis.Client

func LockKeyTTL added in v0.0.9

func LockKeyTTL(key string) time.Duration

LockKeyTTL 锁的剩余生命周期

func LookupIPNets added in v0.0.12

func LookupIPNets(ip net.IP, ipNets map[*net.IPNet]int64) (int64, bool)

LookupIPNets 从 IP 段集合中查询并返回对应数值

func LookupIPNetsString added in v0.0.16

func LookupIPNetsString(s string, ipNets map[*net.IPNet]int64) (int64, bool)

LookupIPNetsString 从 IP 段集合中查询并返回对应数值

func NewChanxOf

func NewChanxOf[T any](maxBufferSize ...int) *chanx.UnboundedChanOf[T]

NewChanxOf 初始化无限缓冲信道

func NewChanxWithContextOf

func NewChanxWithContextOf[T any](ctx context.Context, maxBufferSize ...int) *chanx.UnboundedChanOf[T]

func PostLog added in v0.2.3

func PostLog(bs []byte)

PostLog 立即推送日志到 ES

func RecoverAlarm

func RecoverAlarm(err interface{}, trace []byte)

RecoverAlarm 记录崩溃日志并发出报警

func RecoverLogger

func RecoverLogger(err interface{}, trace []byte)

RecoverLogger 记录崩溃日志

func SendAlarm

func SendAlarm(code, info, more string)

SendAlarm 发送自定义报警消息

func SetClockOffset added in v0.0.7

func SetClockOffset(dur time.Duration)

SetClockOffset 设置时钟偏移值

func TryLock added in v0.0.9

func TryLock(key string, ttl time.Duration) bool

TryLock 简单锁, 过期机制, 不主动解锁

func VerifySign added in v0.3.2

func VerifySign(key, sign string) bool

VerifySign 校验签名

func VerifySignTTL added in v0.3.2

func VerifySignTTL(key, sign string, second int64) bool

VerifySignTTL 校验签名及签名有效期(当前时间 **秒 范围内有效)

Types

type AppLogger

type AppLogger struct {
	// contains filtered or unexported fields
}

func NewAppLogger

func NewAppLogger() *AppLogger

NewAppLogger 类库日志实现: Req / Ants 注意: 受抽样日志影响, 日志可能不会被全部输出

func (*AppLogger) Debugf

func (l *AppLogger) Debugf(format string, v ...any)

func (*AppLogger) Errorf

func (l *AppLogger) Errorf(format string, v ...any)

func (*AppLogger) Printf

func (l *AppLogger) Printf(format string, v ...any)

func (*AppLogger) Warnf

func (l *AppLogger) Warnf(format string, v ...any)

type CronLogger

type CronLogger struct {
	// contains filtered or unexported fields
}

func NewCronLogger

func NewCronLogger() *CronLogger

NewCronLogger 注意: 受抽样日志影响, 日志可能不会被全部输出

func (*CronLogger) Error

func (l *CronLogger) Error(err error, msg string, keysAndValues ...any)

func (*CronLogger) Info

func (l *CronLogger) Info(msg string, keysAndValues ...any)

type Func

type Func func(args any) error

type M added in v0.0.10

type M struct{}

func (*M) Runtime added in v0.0.10

func (m *M) Runtime() error

Runtime 重新加载配置时运行

func (*M) Start added in v0.0.10

func (m *M) Start() error

Start 程序启动时初始化

func (*M) Stop added in v0.0.10

func (m *M) Stop() error

Stop 程序退出时运行

type RedisLogger added in v0.0.9

type RedisLogger struct {
	// contains filtered or unexported fields
}

func NewRedisLogger added in v0.0.10

func NewRedisLogger() *RedisLogger

NewRedisLogger go-redis 类库日志实现

func (*RedisLogger) Printf added in v0.0.9

func (l *RedisLogger) Printf(_ context.Context, format string, v ...any)

Jump to

Keyboard shortcuts

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