xlog

package
v0.1.35 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2024 License: Apache-2.0 Imports: 19 Imported by: 5

Documentation

Index

Constants

View Source
const File string = "file"
View Source
const StackSkip = 5
View Source
const Stdout string = "stdout"

Variables

View Source
var BufferSize = 20000

pipe buffer size

Functions

func AppenderList added in v0.1.11

func AppenderList() []string

AppenderList 获取列表

func Close

func Close()

Close 关闭所有日志组件

func Concurrency

func Concurrency(cnt int)

func Config added in v0.1.11

func Config(p *Param)

func Decode

func Decode(path string) (*layoutSetting, error)

Decode 从配置文件中读取配置信息

func Encode

func Encode(path string, setting *layoutSetting) error

Encode 将当前配置内容保存到文件中

func Pause

func Pause()

Pause 暂停记录

func Registry added in v0.1.11

func Registry(builder AppenderBuilder)

func RegistryFormater added in v0.1.12

func RegistryFormater(key string, fmter Formater)

func Resume

func Resume()

Resume 恢复记录

func Transform added in v0.1.12

func Transform(key string, evt *Event, isJson bool) string

Types

type Appender

type Appender interface {
	Name() string
	Layout() *Layout
	Write(*Event) error
	Close() error
}

Appender 定义appender接口

func NewStudoutAppender

func NewStudoutAppender() Appender

type AppenderBuilder added in v0.1.11

type AppenderBuilder interface {
	Name() string
	DefaultLayout() *Layout
	Build(layout *Layout) Appender
}

type Event

type Event struct {
	Name    string
	Level   Level
	Idx     int32
	SrvType string
	LogTime time.Time
	Session string
	Content string
	Output  string
	Tags    map[string]string
}

Event 日志信息

func NewEvent

func NewEvent(name string, level Level, session string, srvType string, content string, tags map[string]string) *Event

NewEvent 构建日志事件

func (*Event) Close

func (e *Event) Close()

Close 关闭回收日志

func (*Event) Format

func (e *Event) Format(layout *Layout) *Event

Format 获取转换后的日志事件

func (*Event) Transform

func (e *Event) Transform(template string, isJson bool) string

type FileAppender

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

FileAppender 文件FileAppender

func (*FileAppender) Close

func (a *FileAppender) Close() error

Close 关闭组件

func (*FileAppender) Layout added in v0.1.11

func (a *FileAppender) Layout() *Layout

func (*FileAppender) Name

func (a *FileAppender) Name() string

func (*FileAppender) Write

func (a *FileAppender) Write(event *Event) error

type Formater added in v0.1.12

type Formater func(e *Event, isJson bool) string

type Layout

type Layout struct {
	//Type      string `json:"type"`
	LevelName string `json:"level" valid:"in(off|info|warn|error|panic|fatal|debug|all)"`
	Path      string `json:"path,omitempty"`
	Content   string `json:"content"`
	Level     Level  `json:"-"`
	// contains filtered or unexported fields
}

Layout 输出器

func (*Layout) Init

func (l *Layout) Init()

type Level

type Level int8
const (
	LevelAll   Level = 0
	LevelDebug Level = 1
	LevelInfo  Level = 2
	LevelWarn  Level = 3
	LevelError Level = 4
	LevelPanic Level = 5
	LevelFatal Level = 8
	LevelOff   Level = 9
)

func TransLevel

func TransLevel(n string) Level

func (Level) FullName

func (l Level) FullName() string

func (Level) Name

func (l Level) Name() string

type Logger

type Logger interface {
	Name() string
	SessionID() string
	Log(level Level, args ...interface{})
	Logf(level Level, format string, args ...interface{})
	Close()
}

Logger 基础日志记录接口

func GetLogger

func GetLogger(opts ...Option) Logger

func New

func New(opt ...Option) (logger Logger)

New 根据一个或多个日志名称构建日志对象,该日志对象具有新的session id系统不会缓存该日志组件

type LoggerWrap

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

Logger 日志对象

func (*LoggerWrap) Close

func (logger *LoggerWrap) Close()

Close 关闭当前日志组件

func (*LoggerWrap) Debug

func (logger *LoggerWrap) Debug(args ...interface{})

Debug 输出debug日志

func (*LoggerWrap) Debugf

func (logger *LoggerWrap) Debugf(format string, args ...interface{})

Debugf 输出debug日志

func (*LoggerWrap) Error

func (logger *LoggerWrap) Error(args ...interface{})

Error 输出Error日志

func (*LoggerWrap) Errorf

func (logger *LoggerWrap) Errorf(format string, args ...interface{})

Errorf 输出Errorf日志

func (*LoggerWrap) Info

func (logger *LoggerWrap) Info(args ...interface{})

Info 输出info日志

func (*LoggerWrap) Infof

func (logger *LoggerWrap) Infof(format string, args ...interface{})

Infof 输出info日志

func (*LoggerWrap) Log

func (logger *LoggerWrap) Log(level Level, args ...interface{})

func (*LoggerWrap) Logf

func (logger *LoggerWrap) Logf(level Level, format string, args ...interface{})

func (*LoggerWrap) Name

func (logger *LoggerWrap) Name() string

Name 名字

func (*LoggerWrap) Pause

func (logger *LoggerWrap) Pause()

Pause 暂停记录

func (*LoggerWrap) Resume

func (logger *LoggerWrap) Resume()

Resume 恢复记录

func (*LoggerWrap) SessionID added in v0.1.25

func (logger *LoggerWrap) SessionID() string

GetSessionID 获取当前日志的session id

func (*LoggerWrap) Warn

func (logger *LoggerWrap) Warn(args ...interface{})

Warn 输出info日志

func (*LoggerWrap) Warnf

func (logger *LoggerWrap) Warnf(format string, args ...interface{})

Warnf 输出info日志

type Option

type Option func(*options)

func WithField

func WithField(k, v string) Option

func WithFields

func WithFields(fileds map[string]string) Option

func WithName

func WithName(name string) Option

func WithSid

func WithSid(sid string) Option

func WithSrvType added in v0.1.10

func WithSrvType(srvType string) Option

type Param added in v0.1.11

type Param struct {
	ConfigPath string
	// contains filtered or unexported fields
}

type StatsInfo

type StatsInfo struct {
	PipeCount int
	Pipes     []int
}

func Stats

func Stats() StatsInfo

type StdoutAppender

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

StdoutAppender 标准输出器

func (*StdoutAppender) Close

func (a *StdoutAppender) Close() error

Close 关闭组件

func (*StdoutAppender) Layout added in v0.1.11

func (a *StdoutAppender) Layout() *Layout

func (*StdoutAppender) Name

func (a *StdoutAppender) Name() string

func (*StdoutAppender) Write

func (f *StdoutAppender) Write(event *Event) (err error)

Write 写入日志

type Writer

type Writer func(content ...interface{})

func (Writer) Write

func (l Writer) Write(p []byte) (n int, err error)

type WriterPipe

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

func (*WriterPipe) Close

func (p *WriterPipe) Close() error

type WriterPipes

type WriterPipes []*WriterPipe

func (WriterPipes) Close

func (ps WriterPipes) Close()

func (WriterPipes) CloseAndWait

func (ps WriterPipes) CloseAndWait()

func (WriterPipes) Write

func (ps WriterPipes) Write(evt *Event) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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