Documentation ¶
Index ¶
- Constants
- Variables
- type Entry
- func (entry Entry) AddCallerSkip(n int) Entry
- func (entry Entry) Debug(ctx context.Context, args ...any)
- func (entry Entry) Debugf(ctx context.Context, format string, args ...any)
- func (entry Entry) Error(ctx context.Context, args ...any)
- func (entry Entry) Errorf(ctx context.Context, format string, args ...any)
- func (entry Entry) Fatal(ctx context.Context, args ...any)
- func (entry Entry) Fatalf(ctx context.Context, format string, args ...any)
- func (entry Entry) GetReportCaller() bool
- func (entry Entry) GetReportStack() bool
- func (entry Entry) Info(ctx context.Context, args ...any)
- func (entry Entry) Infof(ctx context.Context, format string, args ...any)
- func (entry Entry) Log(ctx context.Context, level Level, args ...any)
- func (entry Entry) Logf(ctx context.Context, level Level, format string, args ...any)
- func (entry Entry) Panic(ctx context.Context, args ...any)
- func (entry Entry) Panicf(ctx context.Context, format string, args ...any)
- func (entry Entry) Trace(ctx context.Context, args ...any)
- func (entry Entry) Tracef(ctx context.Context, format string, args ...any)
- func (entry Entry) Warn(ctx context.Context, args ...any)
- func (entry Entry) Warnf(ctx context.Context, format string, args ...any)
- func (entry Entry) WithField(key string, value any) Entry
- func (entry Entry) WithFields(fields ...KV) Entry
- func (entry Entry) WithReportCaller(reportCaller bool) Entry
- func (entry Entry) WithReportStack(reportStack bool) Entry
- func (entry Entry) WithTime(t time.Time) Entry
- type EntryProcessor
- type Frame
- type KV
- type Level
- type Logger
- func (logger *Logger) AddBeforeExit(fn ...func())
- func (logger *Logger) AddProcessor(levels []Level, processor EntryProcessor)
- func (logger *Logger) BeforeExit()
- func (logger *Logger) Exit(code int)
- func (logger *Logger) GetCallerSkip() int
- func (logger *Logger) GetLevel() Level
- func (logger *Logger) GetReportCaller() bool
- func (logger *Logger) GetReportStack() bool
- func (logger *Logger) GetReportStackLevel() Level
- func (logger *Logger) Reset()
- func (logger *Logger) SetCallerSkip(callerSkip int)
- func (logger *Logger) SetExit(fn func(code int))
- func (logger *Logger) SetLevel(level Level)
- func (logger *Logger) SetReportCaller(reportCaller bool)
- func (logger *Logger) SetReportStack(reportStack bool)
- func (logger *Logger) SetReportStackLevel(level Level)
- type ReadonlyEntry
Constants ¶
const ( LevelPanicValue = "panic" LevelFatalValue = "fatal" LevelErrorValue = "error" LevelWarnValue = "warn" LevelInfoValue = "info" LevelDebugValue = "debug" LevelTraceValue = "trace" )
const (
// LevelCount 日志等级的个数
LevelCount = 7
)
Variables ¶
var AllLevels = []Level{ LevelPanic, LevelFatal, LevelError, LevelWarn, LevelInfo, LevelDebug, LevelTrace, }
Functions ¶
This section is empty.
Types ¶
type Entry ¶
type Entry struct {
// contains filtered or unexported fields
}
Entry 包含日志所需的全部中间信息并负责输出日志
func (Entry) AddCallerSkip ¶
AddCallerSkip 增加调用 runtime.Callers 时的 skip 参数, 当通过装饰器等方式封装 Entry 导致增加调用 Entry 方法的深度时使用 AddCallerSkip 调整 skip, 直接在需要日志的地方调用 Entry 的方法时不需要 AddCallerSkip.
func (Entry) GetReportCaller ¶
GetReportCaller 获取是否收集调用记录, 默认使用 Logger 上的对应配置.
func (Entry) GetReportStack ¶
GetReportStack 获取是否收集调用栈, 默认使用 Logger 上的对应配置.
func (Entry) WithReportCaller ¶
WithReportCaller 设置是否收集调用记录
func (Entry) WithReportStack ¶
WithReportStack 设置是否收集调用栈
type EntryProcessor ¶
type EntryProcessor interface {
Process(ctx context.Context, entry ReadonlyEntry)
}
EntryProcessor 处理日志记录
type Frame ¶
type Frame struct { Function string `json:"func"` File string `json:"file"` Line int `json:"line"` }
Frame 调用相关信息
type Level ¶
type Level int
Level 日志等级
func ParseLevel ¶
ParseLevel 把 level 字符串解析成 Level, 支持的字符串: panic, fatal, error, warn, info, debug, trace, 传入不支持的字符串返回 LevelInfo.
func (Level) MarshalText ¶
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Logger 中保存了日志所需的全局配置, 使用 Logger 处理日志.
func (*Logger) AddBeforeExit ¶
func (logger *Logger) AddBeforeExit(fn ...func())
AddBeforeExit 增加 Exit 在调用 SetExit 指定的函数前执行的函数, 先增加的后执行.
func (*Logger) AddProcessor ¶
func (logger *Logger) AddProcessor(levels []Level, processor EntryProcessor)
AddProcessor 把日志处理器增加到 Logger
func (*Logger) BeforeExit ¶
func (logger *Logger) BeforeExit()
BeforeExit 按照先添加后执行的顺序执行 AddBeforeExit 添加的函数, AddBeforeExit 只会执行1次.
func (*Logger) Exit ¶
Exit 执行 BeforeExit 后退出程序, 执行的退出函数可以通过 SetExit 指定, 当没有通过 SetExit 指定退出函数时调用 os.Exit.
func (*Logger) GetCallerSkip ¶
GetCallerSkip 获取调用 runtime.Callers 时的 skip 参数, skip 已经被偏移到从调用 Logger 相关方法处获取调用信息. 0 表示从调用 Logger 相关方法处获取调用信息.
func (*Logger) GetReportCaller ¶
GetReportCaller 返回是否收集调用信息
func (*Logger) GetReportStack ¶
GetReportStack 返回是否收集调用栈信息
func (*Logger) GetReportStackLevel ¶
GetReportStackLevel 获取自动添加调用栈对应的日志等级
func (*Logger) SetCallerSkip ¶
SetCallerSkip 设置调用 runtime.Callers 时的 skip 参数, skip 已经被偏移到从调用 Logger 相关方法处获取调用信息. 0 表示从调用 Logger 相关方法处获取调用信息.
func (*Logger) SetReportCaller ¶
SetReportCaller 设置是否收集调用信息
func (*Logger) SetReportStack ¶
SetReportStack 设置是否收集调用栈信息
func (*Logger) SetReportStackLevel ¶
SetReportStackLevel 设置日志等级小于等于 level 时自动添加调用栈