util

package
v0.0.0-...-27e8298 Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2020 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DATEFORMAT = "2006-01-02"
	HOURFORMAT = "2006010215"
)
View Source
const (
	KB int64 = 1 << (iota * 10)
	MB
	GB
	TB
)

Variables

View Source
var (
	// Context 全局 Context
	Context context.Context
	// CancelFunc 全局 Context 取消方法
	CancelFunc context.CancelFunc
)
View Source
var (
	GraceNet = gracenet.Net{}
)

Functions

func Format

func Format(suffix bool, suffixInfo string, args ...interface{}) string

func GetCurrentTime

func GetCurrentTime() *timestamp.Timestamp

GetCurrentTime 获取当前时间,返回 GRPC 使用

func GetDatetime

func GetDatetime() string

func GetInnerIp

func GetInnerIp() string

func InitContext

func InitContext()

InitContext 初始化全局 Context

func InitLog

func InitLog() error

InitLog 初始化全局 Log

func MD5Encrypt

func MD5Encrypt(data string) string

MD5Encrypt MD5 加密

func ToDuration

func ToDuration(d *duration.Duration) time.Duration

ToDuration 转换 GRPC Duration 为 time.Duration

func ToTime

func ToTime(ts *timestamp.Timestamp) time.Time

ToTime 转换 GRPC 时间为 time.Time

func ToTimeStamp

func ToTimeStamp(t time.Time) *timestamp.Timestamp

ToTimeStamp 转换 time.Time 为 GRPC 时间

Types

type Logger

type Logger struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

* 默认文件包括debug/error/trace/warn

var (
	// Log 全局 Log 对象
	Log *Logger
)

func NewLogger

func NewLogger(filename, suffix, backupDir string) (*Logger, error)

logger 新版本

func (*Logger) CheckLevel

func (this *Logger) CheckLevel(logType string) bool

func (*Logger) Debug

func (this *Logger) Debug(args ...interface{})

* 以下四个函数主要是写入不同的日志类型 * 参数,写入的具体内容数组

func (*Logger) Error

func (this *Logger) Error(args ...interface{})

func (*Logger) SetLevel

func (this *Logger) SetLevel(l int)

记录级别,0最低,所有日志都记录,3表示只记录error日志

func (*Logger) Trace

func (this *Logger) Trace(args ...interface{})

func (*Logger) Warn

func (this *Logger) Warn(args ...interface{})

func (*Logger) Write

func (this *Logger) Write(filename string, suffix bool, args ...interface{})

* 写日志类,根据filename重新创建一个LoggerInfo,主要是针对自定义文件 * 参数 filename-文件名;suffix-是否需要后缀信息;args-写入的内容

type LoggerBuffer

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

func NewLoggerBuffer

func NewLoggerBuffer() *LoggerBuffer

func (*LoggerBuffer) WriteBuffer

func (this *LoggerBuffer) WriteBuffer(bufferQueue chan LoggerBuffer)

func (*LoggerBuffer) WriteString

func (this *LoggerBuffer) WriteString(str string)

type LoggerInfo

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

func NewLoggerInfo

func NewLoggerInfo(filename, level string) (*LoggerInfo, error)

func (*LoggerInfo) CreateFile

func (this *LoggerInfo) CreateFile() error

* 创建文件

func (*LoggerInfo) FileSize

func (this *LoggerInfo) FileSize() (int64, error)

* 获取文件大小,如果文件不存在则重新创建文件 * 则文件指针指向错误,重新open一下文件 * 如果有其他的错误,此处无法处理,只能是丢掉部分日志内容

func (*LoggerInfo) FlushBufferQueue

func (this *LoggerInfo) FlushBufferQueue()

* buffer中的数据flush到硬盘

func (*LoggerInfo) LoggerBackup

func (this *LoggerInfo) LoggerBackup(hour time.Time)

* 错误日志备份 * backupDir 待备份的目录 * os中没有mv的函数,只能先rename,后remove * backupDir -> /data/messenger/servers/log/saver/trace/2014-09-10/*.log

func (*LoggerInfo) NeedSplit

func (this *LoggerInfo) NeedSplit() (split bool, backup bool)

* 判断文件是否需要切分

func (*LoggerInfo) Write

func (this *LoggerInfo) Write(content string)

func (*LoggerInfo) WriteBufferToQueue

func (this *LoggerInfo) WriteBufferToQueue()

只有该函数goroutine对map操作,map没有加锁

Jump to

Keyboard shortcuts

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