errlog

package module
v0.0.0-...-b85857f Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2024 License: MIT Imports: 5 Imported by: 0

README

errorlog

使用go实现了一个记录错误日志的三方库

OOP化写法

本页会列出所有支持的和WIP的内容。目前已经初步支持多goroutine了。 此方式依赖于os.Filebufio.Writer并不需要fmt包。

创建Logger

Logger原型

type Logger struct {
	name   string        // Logger的名称
	level  int           // Logger显示的最低等级
    // 后面是实现需要
	file   *os.File
	writer *bufio.Writer
	format *loggerFormat
}

方式一:new(推荐) 这种方式new了一个新的Logger对象,兼容性更强。写法:

logger := new(Logger)
logger.SimpleInit()         // 初始化:设置输出为Stderr、设置默认格式、设置默认等级为WARNING
logger.SetName("YOUR NAME") // 设置名称,可在格式中指定是否可见。

方式二:{...} 这种方式不需要new,作为代价,以后代码有所变动时,可能会破坏其兼容性。

logger := Logger{"YOUR NAME", LEVEL, nil, nil, nil}
logger.SimpleInit()

方法三(推荐) 默认打开stdout等。基本上等价于方法一。

logger := NewLogger("name")

Logger的方法

func (logger *Logger)OpenStd()
打开os.Stderr作为输出。一般不需要手动调用。

func (logger *Logger)OpenFile(file os.File)
使用指定文件作为输出。如果已有指定会先关闭。

func (logger *Logger)OpenFileName(filename string)
打开指定文件作为输出,传入本地文件名。

func (logger *Logger)SetFormat(format string)
设置此Logger的格式。格式说明会附在下面。

func (logger *Logger)SetFormatDefault()
设置默认的格式,一般不需要手动调用。

func (logger *Logger)SetMinLevel(level int)
设置显示的最低等级。默认为WARNING。

func (logger *Logger)SetName(name string)
设置名称。默认为Logger

func (logger *Logger)SimpleInit()
简单初始化,虽然可能会有不同的定制,但为了保持兼容性,建议先调用此函数再进行其他设置。 目前的工作:设置输出为os.Stderr;设置默认格式。

func (logger *Logger)Close()
关闭已打开的文件(需要重新指定文件,包括标准输出)

func (logger *Logger)Log(msg string, level int) bool
返回值:此次调用的等级是否达到log标准 传入的level是int,目前有六个预定义项:

const (
	GARBAGE int = 0
	DEBUG   int = 20
	INFO    int = 40
	WARNING int = 60
	ERROR   int = 80
	FATAL   int = 100
)

建议不要超过0~100范围,代码未作逻辑处理。不建议自定义报警等级。

func (logger *Logger)Info(msg string) bool
Log的简化版

func (logger *Logger)Warning(msg string) bool
Log的简化版

func (logger *Logger)Error(msg string) bool
Log的简化版

func (logger *Logger)Fatal(msg string) bool
Log的简化版

Format,Log格式

格式支持{}风格的格式化。目前预设有:
LOGGERNAME MSG LEVEL LEVELNO TIME
默认为[{LEVEL}] {MSG}
[WARNING] A warning message!

Documentation

Index

Constants

View Source
const (
	GARBAGE int = 0
	DEBUG   int = 20
	INFO    int = 40
	WARNING int = 60
	ERROR   int = 80
	FATAL   int = 100
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Logger

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

func NewLogger

func NewLogger(name string) *Logger

func (*Logger) Close

func (logger *Logger) Close()

func (*Logger) Debug

func (logger *Logger) Debug(msg string) bool

func (*Logger) Error

func (logger *Logger) Error(msg string) bool

func (*Logger) Fatal

func (logger *Logger) Fatal(msg string) bool

func (*Logger) Garbage

func (logger *Logger) Garbage(msg string) bool

func (*Logger) Info

func (logger *Logger) Info(msg string) bool

func (*Logger) Log

func (logger *Logger) Log(msg string, level int) bool

func (*Logger) OpenFile

func (logger *Logger) OpenFile(file *os.File)

func (*Logger) OpenFileName

func (logger *Logger) OpenFileName(filename string)

func (*Logger) OpenStd

func (logger *Logger) OpenStd()

func (*Logger) SetFormat

func (logger *Logger) SetFormat(format string)

func (*Logger) SetFormatDefault

func (logger *Logger) SetFormatDefault()

func (*Logger) SetMinLevel

func (logger *Logger) SetMinLevel(level int)

func (*Logger) SetName

func (logger *Logger) SetName(name string)

func (*Logger) SimpleInit

func (logger *Logger) SimpleInit()

func (*Logger) Warning

func (logger *Logger) Warning(msg string) bool

Jump to

Keyboard shortcuts

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