golog

package module
v2.4.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Jan 1, 2021 License: MIT Imports: 10 Imported by: 7

README

思路

  1. 定义 LOG 的级别,LOG 中的方法,LOG 的格式,LOG 的写目的地(控制台,文件)。
  2. 根据 LOG 的目的地定义如下几种形式的 Writer,均需实现 IWriter 接口:
    • 定义将 LOG 记录到控制台的 ConsoleWriter。
    • 定义将 LOG 同步记录到文件的 FileWriter。
    • 定义将 LOG 异步记录到文件的 AsyncWriter。AsyncWriter 采用装饰者模式,在 FileWriter 的基础上增加了异步操作。
  3. 定义多种 LOG 格式,供选用。
    • SimpleFormat 是一个基本的 LOG 格式。
    • ConsoleFormat 采用装饰者模式,在 SimpleFormat 基础上附加了打印颜色样式。

参考

https://github.com/goinbox/golog https://www.jianshu.com/p/20d0f74c3c08

Documentation

Index

Constants

View Source
const (
	WRITE = 0
	FLUSH = 1
	FREE  = 2
)
View Source
const (
	LevelEmergency = 0
	LevelAlert     = 1
	LevelCritical  = 2
	LevelError     = 3
	LevelWarn      = 4
	LevelNotice    = 5
	LevelInfo      = 6
	LevelDebug     = 7
)

Variables

View Source
var LogLevel map[int][]byte = map[int][]byte{
	LevelEmergency: []byte("Emerg"),
	LevelAlert:     []byte("Alert"),
	LevelCritical:  []byte("Crit"),
	LevelError:     []byte("Error"),
	LevelWarn:      []byte("Warn"),
	LevelNotice:    []byte("Noti"),
	LevelInfo:      []byte("Info"),
	LevelDebug:     []byte("Debug"),
}

Functions

This section is empty.

Types

type AsyncWriter added in v1.0.11

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

func NewAsyncWriter added in v1.0.11

func NewAsyncWriter(w IWriter, queueSize int) *AsyncWriter

func (*AsyncWriter) Flush added in v1.0.11

func (aw *AsyncWriter) Flush() error

func (*AsyncWriter) Free added in v1.0.11

func (aw *AsyncWriter) Free()

func (*AsyncWriter) Write added in v1.0.11

func (aw *AsyncWriter) Write(msg []byte) (int, error)

type ConsoleFormat added in v1.0.11

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

func NewConsoleFormat added in v1.0.11

func NewConsoleFormat(format IFormat) *ConsoleFormat

func (*ConsoleFormat) Format added in v1.0.11

func (cf *ConsoleFormat) Format(level int, msg []byte) []byte

func (*ConsoleFormat) SetColorFunc added in v1.0.11

func (cf *ConsoleFormat) SetColorFunc(level int, colorF colorFunc)

type ConsoleWriter added in v1.0.11

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

func NewConsoleWriter added in v1.0.11

func NewConsoleWriter() *ConsoleWriter

func (*ConsoleWriter) Flush added in v1.0.11

func (cw *ConsoleWriter) Flush() error

func (*ConsoleWriter) Free added in v1.0.11

func (cw *ConsoleWriter) Free()

func (*ConsoleWriter) Write added in v1.0.11

func (cw *ConsoleWriter) Write(msg []byte) (int, error)

type FileInfoFormat added in v1.17.3

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

func NewFileInfoFormat added in v1.17.3

func NewFileInfoFormat(callLevel int) *FileInfoFormat

func (*FileInfoFormat) Format added in v1.17.3

func (fif *FileInfoFormat) Format(level int, msg []byte) []byte

func (*FileInfoFormat) SetCallLevel added in v1.17.6

func (fif *FileInfoFormat) SetCallLevel(callLevel int)

func (*FileInfoFormat) SetTimePattern added in v1.17.3

func (fif *FileInfoFormat) SetTimePattern(tp string)

type FileWriter added in v1.0.11

type FileWriter struct {
	File *os.File
	// contains filtered or unexported fields
}

func NewFileWriter added in v1.0.11

func NewFileWriter(path string, bufSize int) (*FileWriter, error)

func (*FileWriter) Flush added in v1.0.11

func (fw *FileWriter) Flush() error

func (*FileWriter) Free added in v1.0.11

func (fw *FileWriter) Free()

func (*FileWriter) Write added in v1.0.11

func (fw *FileWriter) Write(msg []byte) (int, error)

type IFormat

type IFormat interface {
	Format(level int, msg []byte) []byte
}

type ILogger

type ILogger interface {
	Emergency(msg []byte)
	Alert(msg []byte)
	Critical(msg []byte)
	Error(msg []byte)
	Warn(msg []byte)
	Notice(msg []byte)
	Info(msg []byte)
	Debug(msg []byte)
	Log(level int, msg []byte) error
	Close()
}

type IWriter

type IWriter interface {
	io.Writer
	Flush() error
	Free()
}

type NoopFormater added in v1.16.0

type NoopFormater struct {
}

func (*NoopFormater) Format added in v1.16.0

func (n *NoopFormater) Format(level int, msg []byte) []byte

type NoopLogger added in v1.16.0

type NoopLogger struct {
}

func (*NoopLogger) Alert added in v1.16.0

func (n *NoopLogger) Alert(msg []byte)

func (*NoopLogger) Close added in v1.17.0

func (n *NoopLogger) Close()

func (*NoopLogger) Critical added in v1.16.0

func (n *NoopLogger) Critical(msg []byte)

func (*NoopLogger) Debug added in v1.16.0

func (n *NoopLogger) Debug(msg []byte)

func (*NoopLogger) Emergency added in v1.16.0

func (n *NoopLogger) Emergency(msg []byte)

func (*NoopLogger) Error added in v1.16.0

func (n *NoopLogger) Error(msg []byte)

func (*NoopLogger) Flush added in v1.16.0

func (n *NoopLogger) Flush() error

func (*NoopLogger) Info added in v1.16.0

func (n *NoopLogger) Info(msg []byte)

func (*NoopLogger) Log added in v1.16.0

func (n *NoopLogger) Log(level int, msg []byte) error

func (*NoopLogger) Notice added in v1.16.0

func (n *NoopLogger) Notice(msg []byte)

func (*NoopLogger) Warn added in v1.17.2

func (n *NoopLogger) Warn(msg []byte)

type NoopWriter added in v1.16.0

type NoopWriter struct {
}

func (*NoopWriter) Flush added in v1.16.0

func (n *NoopWriter) Flush() error

func (*NoopWriter) Free added in v1.16.0

func (n *NoopWriter) Free()

func (*NoopWriter) Write added in v1.16.0

func (n *NoopWriter) Write(msg []byte) (int, error)

type SimpleFormat added in v1.0.11

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

func NewSimpleFormat added in v1.0.11

func NewSimpleFormat() *SimpleFormat

func (*SimpleFormat) Format added in v1.0.11

func (sf *SimpleFormat) Format(level int, msg []byte) []byte

func (*SimpleFormat) SetTimePattern added in v1.0.11

func (sf *SimpleFormat) SetTimePattern(tp string)

type SimpleLogger added in v1.0.3

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

func NewAsyncLogger added in v1.0.3

func NewAsyncLogger(path string, bufSize, queueSize, level int) (*SimpleLogger, error)

func NewConsoleLogger added in v1.0.3

func NewConsoleLogger(level int) (*SimpleLogger, error)

func NewFileLogger added in v1.0.3

func NewFileLogger(path string, bufSize, level int) (*SimpleLogger, error)

func NewSimpleLogger added in v1.0.3

func NewSimpleLogger(w IWriter, f IFormat) *SimpleLogger

func (*SimpleLogger) Alert added in v1.0.3

func (sl *SimpleLogger) Alert(msg []byte)

func (*SimpleLogger) Close added in v1.0.3

func (sl *SimpleLogger) Close()

func (*SimpleLogger) Critical added in v1.0.3

func (sl *SimpleLogger) Critical(msg []byte)

func (*SimpleLogger) Debug added in v1.0.3

func (sl *SimpleLogger) Debug(msg []byte)

func (*SimpleLogger) Emergency added in v1.0.3

func (sl *SimpleLogger) Emergency(msg []byte)

func (*SimpleLogger) Error added in v1.0.3

func (sl *SimpleLogger) Error(msg []byte)

func (*SimpleLogger) Info added in v1.0.3

func (sl *SimpleLogger) Info(msg []byte)

func (*SimpleLogger) Log added in v1.0.3

func (sl *SimpleLogger) Log(level int, msg []byte) error

func (*SimpleLogger) Notice added in v1.0.3

func (sl *SimpleLogger) Notice(msg []byte)

func (*SimpleLogger) SetFormat added in v1.0.3

func (sl *SimpleLogger) SetFormat(f IFormat) *SimpleLogger

func (*SimpleLogger) SetLevel added in v1.0.3

func (sl *SimpleLogger) SetLevel(level int) *SimpleLogger

func (*SimpleLogger) SetWriter added in v1.0.3

func (sl *SimpleLogger) SetWriter(w IWriter) *SimpleLogger

func (*SimpleLogger) Warn added in v1.0.3

func (sl *SimpleLogger) Warn(msg []byte)

Jump to

Keyboard shortcuts

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