handler

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2020 License: MIT Imports: 12 Imported by: 30

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseHandler

type BaseHandler struct {
	slog.Formattable
	// Levels for log
	Levels []slog.Level
}

BaseHandler definition

func (*BaseHandler) Flush

func (h *BaseHandler) Flush() error

func (*BaseHandler) HandleBatch

func (h *BaseHandler) HandleBatch(records []*slog.Record) error

HandleBatch log records

func (*BaseHandler) IsHandling

func (h *BaseHandler) IsHandling(level slog.Level) bool

IsHandling Check if the current level can be handling

type BufferedHandler

type BufferedHandler struct {
	BaseHandler

	// options
	FlushInterval int
	// contains filtered or unexported fields
}

BufferedHandler definition

func NewBufferedHandler

func NewBufferedHandler(handler slog.WriterHandler, bufSize int) *BufferedHandler

NewBufferedHandler create new BufferedHandler

func (*BufferedHandler) Close

func (h *BufferedHandler) Close() error

Close log records

func (*BufferedHandler) Flush

func (h *BufferedHandler) Flush() error

Flush all buffers to the `h.handler.Writer()`

func (*BufferedHandler) Handle

func (h *BufferedHandler) Handle(record *slog.Record) error

Handle log record

type ConsoleHandler

type ConsoleHandler struct {
	StreamHandler
}

ConsoleHandler definition

func NewConsoleHandler

func NewConsoleHandler(levels []slog.Level) *ConsoleHandler

NewConsoleHandler create new ConsoleHandler

func (*ConsoleHandler) ConfigFormatter

func (h *ConsoleHandler) ConfigFormatter(fn func(formatter *slog.TextFormatter))

SetColorTheme to the formatter

type FileHandler

type FileHandler struct {
	BaseHandler

	// NoBuffer on write log records
	NoBuffer bool
	// FileFlag for create. default: os.O_CREATE|os.O_WRONLY|os.O_APPEND
	FileFlag int
	// FileMode perm for create log file. (it's os.FileMode)
	FileMode uint32
	// BuffSize for enable buffer
	BuffSize int
	// file contents max size
	MaxSize uint64
	// contains filtered or unexported fields
}

FileHandler definition

func JSONFileHandler

func JSONFileHandler(fpath string) *FileHandler

JSONFileHandler create new FileHandler with JSON formatter

func NewFileHandler

func NewFileHandler(fpath string, useJSON bool) *FileHandler

NewFileHandler create new FileHandler

func (*FileHandler) Close

func (h *FileHandler) Close() error

Close handler, will be flush logs to file, then close file

func (*FileHandler) Configure

func (h *FileHandler) Configure(fn func(h *FileHandler)) *FileHandler

Configure the handler

func (*FileHandler) Flush

func (h *FileHandler) Flush() error

Sync logs to disk file

func (*FileHandler) Handle

func (h *FileHandler) Handle(r *slog.Record) (err error)

Handle the log record

func (*FileHandler) Sync

func (h *FileHandler) Sync() error

Sync logs to disk file

func (*FileHandler) Writer

func (h *FileHandler) Writer() io.Writer

Writer return *os.File

type GroupedHandler

type GroupedHandler struct {

	// Levels for log
	Levels    []slog.Level
	IgnoreErr bool
	// contains filtered or unexported fields
}

GroupedHandler definition

func NewGroupedHandler

func NewGroupedHandler(handlers []slog.Handler) *GroupedHandler

NewGroupedHandler create new GroupedHandler

func (*GroupedHandler) Close

func (h *GroupedHandler) Close() error

Close log handlers

func (*GroupedHandler) Flush

func (h *GroupedHandler) Flush() error

Flush log records

func (*GroupedHandler) Handle

func (h *GroupedHandler) Handle(record *slog.Record) error

Handle log record

func (*GroupedHandler) IsHandling

func (h *GroupedHandler) IsHandling(level slog.Level) bool

IsHandling Check if the current level can be handling

type RotateFileHandler

type RotateFileHandler struct {
	FileHandler
	// contains filtered or unexported fields
}

RotateFileHandler definition

func (*RotateFileHandler) Write

func (h *RotateFileHandler) Write(p []byte) (n int, err error)

type StreamHandler

type StreamHandler struct {
	BaseHandler

	// Output io.WriteCloser
	Output  io.Writer
	UseLock bool
}

StreamHandler definition

func NewStreamHandler

func NewStreamHandler(out io.Writer, levels []slog.Level) *StreamHandler

NewStreamHandler create new StreamHandler

func (*StreamHandler) Close

func (h *StreamHandler) Close() error

Close the handler

func (*StreamHandler) Handle

func (h *StreamHandler) Handle(record *slog.Record) error

Handle log record

Jump to

Keyboard shortcuts

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