log

package
v0.0.0-...-ae40e7c Latest Latest
Warning

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

Go to latest
Published: May 3, 2018 License: MIT Imports: 11 Imported by: 1

Documentation

Overview

Package log 包含日志相关工具

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(kind string, creator LoggerCreator)

Register 注册LoggerCreator创建器

Types

type ConsoleWriter

type ConsoleWriter struct {
}

控制台写入器

func NewConsoleWriter

func NewConsoleWriter() *ConsoleWriter

NewConsoleWriter 创建控制台写入器

func (*ConsoleWriter) Close

func (this *ConsoleWriter) Close()

Close 关闭写入器

func (*ConsoleWriter) Write

func (this *ConsoleWriter) Write(log string)

Write 日志写入

type Error

type Error string

错误信息

const (
	ErrorInvalidLoggerCreator  Error = "ErrorInvalidLoggerCreator(L10000):无效的日志创建器"
	ErrorInvalidKind           Error = "ErrorInvalidKind(L10010):无效的日志类型(%s)"
	ErrorInvalidLogWriter      Error = "ErrorInvalidLogWriter(L10011):无效的日志写入器"
	ErrorLogWriterInvalidParam Error = "ErrorLogWriterInvalidParam(L10020):SimpleLogWriter.SetAsync参数为nil"
	ErrorFailToCreatePath      Error = "ErrorFailToCreatePath(L10030):无法创建日志目录(%s)"
	ErrorInvalidParam          Error = "ErrorInvalidParam(L10040):无效的日志创建参数"
)

错误码

func (Error) Error

func (this Error) Error() error

Error 生成error类型

func (Error) Format

func (this Error) Format(data ...interface{}) Error

Format 格式化错误信息并生成新的错误信息

func (Error) String

func (this Error) String() string

String 返回错误字符串描述

type FileWriter

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

文件写入器

func NewFileWriter

func NewFileWriter(path string) *FileWriter

NewFileWriter 创建文件写入器

func (*FileWriter) Close

func (this *FileWriter) Close()

Close 关闭写入器

func (*FileWriter) Write

func (this *FileWriter) Write(log string)

Write 日志写入

type LogLevel

type LogLevel uint

日志级别

const (
	LogLevelDebug LogLevel = 1 << iota //调试信息等级
	LogLevelInfo                       //输出信息等级
	LogLevelWarn                       //警告信息等级
	LogLevelError                      //错误信息等级
	LogLevelFatal                      //崩溃信息等级
)

type LogWriter

type LogWriter interface {
	// Write [同步]日志写入
	Write(log string)
	// SetAsync 设置写入模式
	SetAsync(async bool, logList *list.List, mu *sync.Mutex)
	// Close 关闭写入器
	Close()
}

日志写入类型接口

type Logger

type Logger interface {
	// Debug 写入调试信息
	Debug(info ...interface{})
	// Info 写入一般信息
	Info(info ...interface{})
	// Warn 写入异常信息
	Warn(info ...interface{})
	// Error 写入错误信息
	Error(info ...interface{})
	// Fatal 写入崩溃信息
	Fatal(info ...interface{})
	// LogLevel 获取某个日志等级是否输出
	LogLevelOutput(level LogLevel) bool
	// SetLogLevelOutput 设置某个日志等级是否输出
	SetLogLevelOutput(level LogLevel, output bool)
	// Async 是否异步输出
	Async() bool
	// SetAsync 设置是否异步输出
	SetAsync(async bool)
	// Close 关闭日志 关闭后无法再进行写入操作
	Close()
	// Closed 日志是否关闭
	Closed() bool
}

日志接口 所有日志类型应该实现该接口

func ConsoleLoggerCreator

func ConsoleLoggerCreator(param string) (Logger, error)

ConsoleLoggerCreator

func FileLoggerCreator

func FileLoggerCreator(path string) (Logger, error)

FileLoggerCreator

func NewLogger

func NewLogger(kind string, param string) (Logger, error)

NewLogger 创建一个新的Logger

kind:日志类型

type LoggerCreator

type LoggerCreator func(source string) (Logger, error)

日志创建器

source: 日志存储位置

type SimpleLogWriter

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

日志写入器

func NewSimpleLogWriter

func NewSimpleLogWriter(writer Writer) *SimpleLogWriter

NewSimpleLogWriter 创建日志写入器

func (*SimpleLogWriter) Close

func (this *SimpleLogWriter) Close()

Close 关闭日志写入器

func (*SimpleLogWriter) SetAsync

func (this *SimpleLogWriter) SetAsync(async bool, logList *list.List, mu *sync.Mutex)

SetAsync 设置是否异步输出,仅当之前为非异步并且设置为异步时,logList和mu有效

func (*SimpleLogWriter) Write

func (this *SimpleLogWriter) Write(log string)

Write [同步]日志写入

type SimpleLogger

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

日志记录器

func NewSimpleLogger

func NewSimpleLogger(logWriter LogWriter) *SimpleLogger

NewSimpleLogger 创建日志记录器,默认同步模式

func (*SimpleLogger) Async

func (this *SimpleLogger) Async() bool

Async 是否异步输出

func (*SimpleLogger) Close

func (this *SimpleLogger) Close()

Close 关闭日志 关闭后无法再使用

func (*SimpleLogger) Closed

func (this *SimpleLogger) Closed() bool

Closed 日志是否已关闭

func (*SimpleLogger) Debug

func (this *SimpleLogger) Debug(info ...interface{})

Debug 写入调试信息

func (*SimpleLogger) Error

func (this *SimpleLogger) Error(info ...interface{})

Error 写入错误信息

func (*SimpleLogger) Fatal

func (this *SimpleLogger) Fatal(info ...interface{})

Fatal 写入崩溃信息

func (*SimpleLogger) Info

func (this *SimpleLogger) Info(info ...interface{})

Info 写入一般信息

func (*SimpleLogger) LogLevelOutput

func (this *SimpleLogger) LogLevelOutput(level LogLevel) bool

LogLevel 得到日志等级是否输出

func (*SimpleLogger) SetAsync

func (this *SimpleLogger) SetAsync(async bool)

SetAsync 设置是否异步输出

func (*SimpleLogger) SetLogLevelOutput

func (this *SimpleLogger) SetLogLevelOutput(level LogLevel, output bool)

SetLogLevel 设置某个日志等级是否输出

func (*SimpleLogger) SetSkip

func (this *SimpleLogger) SetSkip(skip int)

LogPosition skip为跳过的Caller数量,skip小于2时关闭文件位置记录的功能

func (*SimpleLogger) Warn

func (this *SimpleLogger) Warn(info ...interface{})

Warn 写入警告信息

type Writer

type Writer interface {
	// Write 日志写入
	Write(log string)
	// Close 关闭写入器
	Close()
}

写入类型接口

Jump to

Keyboard shortcuts

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