logger

package
v0.0.0-...-aa68dce Latest Latest
Warning

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

Go to latest
Published: Jun 16, 2020 License: GPL-3.0 Imports: 9 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

This section is empty.

Functions

func Format

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

func GetDatetime

func GetDatetime() string

func GetInnerIp

func GetInnerIp() string

Types

type Logger

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

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

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