xlog

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Jul 11, 2022 License: Apache-2.0 Imports: 20 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 = 200000

pipe buffer size

View Source
var (
	LogPath = "../conf/logger.json"
)

Functions

func AddAppender

func AddAppender(appender Appender)

AddAppender 添加appender

func AddLayout

func AddLayout(l ...*Layout)

AddLayout 添加日志输出配置

func Appenders

func Appenders() []string

RemoveAppender 移除Appender

func Close

func Close()

Close 关闭所有日志组件

func Concurrency

func Concurrency(cnt int)

func Decode

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

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

func Encode

func Encode(path string) error

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

func Pause

func Pause()

Pause 暂停记录

func RemoveAppender

func RemoveAppender(name string)

RemoveAppender 移除Appender

func Resume

func Resume()

Resume 恢复记录

Types

type Appender

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

Appender 定义appender接口

type Event

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

Event 日志信息

func NewEvent

func NewEvent(name string, level Level, session 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 NewFileAppender

func NewFileAppender() *FileAppender

NewFileAppender 构建file FileAppender

func (*FileAppender) Close

func (a *FileAppender) Close() error

Close 关闭组件

func (*FileAppender) Name

func (a *FileAppender) Name() string

func (*FileAppender) Write

func (a *FileAppender) Write(layout *Layout, event *Event) error

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"`
	Layout       string `json:"layout"`
	Level        Level  `json:"-"`
	IsJsonLayout bool   `json:"-"`
}

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

	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) GetSessionID

func (logger *LoggerWrap) GetSessionID() string

GetSessionID 获取当前日志的session id

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) 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

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 NewStudoutAppender

func NewStudoutAppender() (sa *StdoutAppender)

NewStudoutAppender 构建基于文件流的日志输出对象

func (*StdoutAppender) Close

func (a *StdoutAppender) Close() error

Close 关闭组件

func (*StdoutAppender) Name

func (a *StdoutAppender) Name() string

func (*StdoutAppender) Write

func (f *StdoutAppender) Write(layout *Layout, 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