handler

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: May 12, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FileRotatorSuffixFmt1 = "20060102150405"
	FileRotatorSuffixFmt2 = "2006-01-02T15-04-05"
	FileRotatorSuffixFmt3 = "2006-01-02_15-04-05"
)
View Source
const (
	FileRotatorReMatch1 = "^\\d{14}(\\.\\w+)?$"
	FileRotatorReMatch2 = "^\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}(\\.\\w+)?$"
	FileRotatorReMatch3 = "^\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}(\\.\\w+)?$"
)

Variables

This section is empty.

Functions

func IsFileExist

func IsFileExist(name string) bool

Types

type DefaultHandler

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

func NewDefaultHandler

func NewDefaultHandler(handlerCfg *HandlerConfig) (*DefaultHandler, error)

func (*DefaultHandler) Close

func (h *DefaultHandler) Close() error

func (*DefaultHandler) Emit

func (h *DefaultHandler) Emit(entry *message.Entry) error

func (*DefaultHandler) Format

func (h *DefaultHandler) Format(entry *message.Entry) ([]byte, error)

type FileHandler

type FileHandler struct {
	ErrorCallback func(buf []byte, err error)
	// contains filtered or unexported fields
}

func NewFileHandler

func NewFileHandler(handlerCfg *HandlerConfig) (*FileHandler, error)

func (*FileHandler) BulkFill added in v0.3.0

func (h *FileHandler) BulkFill(buf []byte) []byte

func (*FileHandler) Close

func (h *FileHandler) Close() error

func (*FileHandler) Emit

func (h *FileHandler) Emit(entry *message.Entry) error

type FileHandlerConfig added in v0.3.0

type FileHandlerConfig struct {
	FileDir       string
	FileName      string
	MaxFileSize   int64
	BackupCount   int
	BulkWriteSize int

	RotatorType RotatorType
	//When          RotatorWhenType // used in TimeRotator and TimeAndSizeRotator
	Interval int64 // unit: second. used in TimeRotator and TimeAndSizeRotator.
	//IntervalStep  int64
	TimeSuffixFmt string
	ReMatch       string
	FileSuffix    string

	MultiProcessWrite bool

	ErrCallback func(buf []byte, err error)
}

type HandlerConfig added in v0.3.0

type HandlerConfig struct {
	ExternalHandler IHandler
	HandlerType     HandlerType
	File            FileHandlerConfig
	Stream          StreamHandlerConfig
	Syslog          SyslogHandlerConfig

	Formatter formatter.FormatterConfig
	Filter    filter.IFilter
}

type HandlerType added in v0.3.0

type HandlerType int
const (
	HandlerTypeStdout HandlerType = 0
	HandlerTypeFile   HandlerType = 1
	HandlerTypeStream HandlerType = 2
	HandlerTypeSyslog HandlerType = 3
)

type IHandler

type IHandler interface {
	Emit(entry *message.Entry) error
	Close() error
}

func GetNewHandler

func GetNewHandler(handlerCfg HandlerConfig) (IHandler, error)

type IRotator

type IRotator interface {
	NeedRollover(msg []byte) (*os.File, bool, error)
	DoRollover() (*os.File, error)
	Close() error
}

func GetRotator4Config

func GetRotator4Config(cfg *FileHandlerConfig) (IRotator, error)

type IStreamer added in v0.3.0

type IStreamer interface {
	io.Writer
	Close()
}

type RotatorType added in v0.3.0

type RotatorType int
const (
	FileRotatorTypeTime        RotatorType = 1
	FileRotatorTypeSize        RotatorType = 2
	FileRotatorTypeTimeAndSize RotatorType = 3
)

type SizeRotator

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

func NewSizeRotator

func NewSizeRotator(cfg *FileHandlerConfig) (*SizeRotator, error)

func (*SizeRotator) Close

func (r *SizeRotator) Close() error

func (*SizeRotator) DoRollover

func (r *SizeRotator) DoRollover() (*os.File, error)

func (*SizeRotator) NeedRollover

func (r *SizeRotator) NeedRollover(msg []byte) (*os.File, bool, error)

type StreamHandler

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

func NewStreamHandler

func NewStreamHandler(handlerCfg *HandlerConfig) (*StreamHandler, error)

func (*StreamHandler) Close

func (h *StreamHandler) Close() error

func (*StreamHandler) Emit

func (h *StreamHandler) Emit(record *message.Entry) error

type StreamHandlerConfig added in v0.3.0

type StreamHandlerConfig struct {
	Streamer IStreamer
}

type SyslogHandler

type SyslogHandler struct {
	// BaseHandler
	Writer *syslog.Writer
	// contains filtered or unexported fields
}

func NewSyslogHandler

func NewSyslogHandler(handlerCfg *HandlerConfig) (*SyslogHandler, error)

func (*SyslogHandler) Close

func (h *SyslogHandler) Close() error

func (*SyslogHandler) Emit

func (h *SyslogHandler) Emit(e *message.Entry) error

func (*SyslogHandler) Init

func (h *SyslogHandler) Init() error

type SyslogHandlerConfig added in v0.3.0

type SyslogHandlerConfig struct {
	Network  string
	Address  string
	Tag      string
	Priority int
}

type TimeAndSizeRotator

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

func NewTimeAndSizeRotator

func NewTimeAndSizeRotator(cfg *FileHandlerConfig) (*TimeAndSizeRotator, error)

func (*TimeAndSizeRotator) Close

func (r *TimeAndSizeRotator) Close() error

func (*TimeAndSizeRotator) DoRollover

func (r *TimeAndSizeRotator) DoRollover() (*os.File, error)

func (*TimeAndSizeRotator) NeedRollover

func (r *TimeAndSizeRotator) NeedRollover(msg []byte) (*os.File, bool, error)

type TimeRotator

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

func NewTimeRotator

func NewTimeRotator(cfg *FileHandlerConfig) (*TimeRotator, error)

func (*TimeRotator) Close

func (r *TimeRotator) Close() error

func (*TimeRotator) DoRollover

func (r *TimeRotator) DoRollover() (*os.File, error)

func (*TimeRotator) NeedRollover

func (r *TimeRotator) NeedRollover(_ []byte) (*os.File, bool, error)

Jump to

Keyboard shortcuts

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