log

package module
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2023 License: MIT Imports: 9 Imported by: 10

README

log

chefgo log moudle.

Documentation

Index

Constants

View Source
const (
	NAME = "LOG"
)

Variables

This section is empty.

Functions

func Configure

func Configure(cfg Map)

Configure 更新配置

func Console

func Console(args ...Any)

func Debug

func Debug(args ...Any)

//语法糖

func Error added in v0.0.3

func Error(args ...Any)

func Fatal

func Fatal(args ...Any)

func Go

func Go()

Go 直接开跑 此方法只单独使用模块时用

func Info

func Info(args ...Any)

func Levels

func Levels() map[Level]string

定义列表

func Notice

func Notice(args ...Any)

func Panic

func Panic(args ...Any)

func Ready

func Ready()

Ready 准备运行 此方法只单独使用模块时用

func Register

func Register(name string, value Any, overrides ...bool)

Register 开放给外

func Trace

func Trace(args ...Any)

func Warning

func Warning(args ...Any)

Types

type Config

type Config struct {
	// Driver 日志驱动,默认为 default
	Driver string

	// Level 输出的日志级别
	// fatal, panic, warning, notice, info, trace, debug
	Level Level

	Levels map[Level]bool

	// Json 是否开启json输出模式
	// 开启后,所有日志 body 都会被包装成json格式输出
	Json bool

	// Sync 是否开启同步输出,默认为false,表示异步输出
	// 注意:如果开启同步输出,有可能影响程序性能
	Sync bool

	// Pool 异步缓冲池大小
	Pool int

	//Flag 标记
	// 默认为chef.Role(),表名当前节点的角色
	Flag string `toml:"flag"`

	// Format 日志输出格式,默认格式为 %time% [%level%] %body%
	// 可选参数,参数使用 %% 包裹,如 %time%
	// time		格式化后的时间,如:2006-01-02 15:03:04.000
	// unix		unix时间戳,如:1650271473
	// level	日志级别,如:TRACE
	// body		日志内容
	Format string `toml:"format"`

	// Setting 是为不同驱动准备的自定义参数
	// 具体参数表,请参考各不同的驱动
	Setting Map `toml:"setting"`
}

type Configs added in v0.0.3

type Configs map[string]Config

LogConfig 日志模块配置

type Connect

type Connect interface {
	// Open 打开连接
	Open() error

	// Close 关闭结束
	Close() error

	// Write 写入日志
	Write(Log) error

	// Flush 冲马桶
	Flush()
}

LogConnect 日志连接

type Driver

type Driver interface {
	// 连接到驱动
	Connect(*Instance) (Connect, error)
}

LogDriver log驱动

type Instance added in v0.0.3

type Instance struct {
	Name    string
	Config  Config
	Setting Map
	// contains filtered or unexported fields
}

func (*Instance) Format added in v0.0.3

func (this *Instance) Format(log Log) string

Log format

func (*Instance) Mapping added in v0.0.3

func (this *Instance) Mapping(log Log) Map

Log Mapping

func (*Instance) Mappings added in v0.0.3

func (this *Instance) Mappings(logs Logs) []Map

Log Mapping

type Level

type Level = int

Level 日志级别,从小到大,数字越小越严重

const (
	//LogLevel 日志级别,从小到大,数字越小越严重
	LevelFatal   Level = iota //错误级别,产生了严重错误,程序将退出
	LevelPanic                //恐慌级别,产生了恐慌,会调用panic
	LevelError                //错误级别,错误严重的
	LevelWarning              //警告级别,一般是记录调用
	LevelNotice               //注意级别,需要特别留意的信息
	LevelInfo                 //普通级别,普通信息
	LevelTrace                //追踪级别,主要是请求日志,调用追踪等
	LevelDebug                //调试级别,开发时输出调试时用,生产环境不建议
)

type Log

type Log struct {
	Time  int64  `json:"time"`
	Level Level  `json:"level"`
	Body  string `json:"body"`
}

func (*Log) Mapping added in v0.0.2

func (log *Log) Mapping() Map

Log Mapping

type Logs added in v0.0.3

type Logs = []Log

type Module

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

日志模块定义

func (*Module) Config

func (this *Module) Config(name string, config Config, override bool)

func (*Module) Configs added in v0.0.3

func (this *Module) Configs(config Configs, override bool)

func (*Module) Configure

func (this *Module) Configure(global Map)

func (*Module) Connect

func (this *Module) Connect()

func (*Module) Console

func (this *Module) Console(args ...Any)

输出控制台信息

func (*Module) Debug

func (this *Module) Debug(args ...Any)

调试

func (*Module) Driver

func (this *Module) Driver(name string, driver Driver, override bool)

Driver 为log模块注册驱动

func (*Module) Error added in v0.0.3

func (this *Module) Error(args ...Any)

func (*Module) Fatal

func (this *Module) Fatal(args ...Any)

func (*Module) Flush

func (this *Module) Flush()

func (*Module) Info

func (this *Module) Info(args ...Any)

func (*Module) Initialize

func (this *Module) Initialize()

func (*Module) Launch

func (this *Module) Launch()

func (*Module) Logging

func (this *Module) Logging(level Level, body string)

Logging 对外按日志级写日志的方法

func (*Module) Notice

func (this *Module) Notice(args ...Any)

func (*Module) Panic

func (this *Module) Panic(args ...Any)

func (*Module) Register

func (this *Module) Register(name string, value Any, override bool)

func (*Module) Terminate

func (this *Module) Terminate()

func (*Module) Trace

func (this *Module) Trace(args ...Any)

func (*Module) Warning

func (this *Module) Warning(args ...Any)

func (*Module) Write

func (this *Module) Write(log Log)

Write 写入日志,对外的,需要处理逻辑

Jump to

Keyboard shortcuts

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