logger

package module
v0.0.0-...-4258c09 Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2021 License: Unlicense Imports: 8 Imported by: 0

README

logger

TODO чтение логов из канала разобраться с бинарным представлением файле

Documentation

Index

Constants

View Source
const LevelCritical = "critical"
View Source
const LevelDebug = "debug"
View Source
const LevelError = "error"
View Source
const LevelInfo = "info"
View Source
const LevelWarning = "warning"

Variables

View Source
var LogsQueueName string

Functions

This section is empty.

Types

type BaseLogTarget

type BaseLogTarget struct {
	Levels     []string
	Categories []string
}

func (*BaseLogTarget) CanLog

func (t *BaseLogTarget) CanLog(message MessageData) bool

type FileLogTarget

type FileLogTarget struct {
	BaseLogTarget
	FilePath   string
	MaxSize    int
	MaxBackups int
}

func (*FileLogTarget) Log

func (t *FileLogTarget) Log(message MessageData) error

type Logger

type Logger struct {
	Targets []Target
}

Logger TODO add FlushInterval and batch logging

func New

func New(consumingThreads int, messagesMaxCount int) *Logger

func (*Logger) AddTarget

func (l *Logger) AddTarget(target *Target)

func (*Logger) Critical

func (l *Logger) Critical(data interface{}, extraData map[string]interface{}, category string)

func (*Logger) Debug

func (l *Logger) Debug(data interface{}, extraData map[string]interface{}, category string)

func (*Logger) Error

func (l *Logger) Error(data interface{}, extraData map[string]interface{}, category string)

func (*Logger) Info

func (l *Logger) Info(data interface{}, extraData map[string]interface{}, category string)

func (*Logger) Log

func (l *Logger) Log(data interface{}, extraData map[string]interface{}, level string, category string)

func (*Logger) Warning

func (l *Logger) Warning(data interface{}, extraData map[string]interface{}, category string)

type Message

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

func (*Message) AddExceptTarget

func (l *Message) AddExceptTarget(key int)

func (*Message) AddPrevious

func (l *Message) AddPrevious(message MessageData)

func (*Message) Category

func (l *Message) Category() string

func (*Message) Data

func (l *Message) Data() interface{}

func (*Message) Except

func (l *Message) Except() []int

func (*Message) ExtraData

func (l *Message) ExtraData() map[string]interface{}

func (*Message) Level

func (l *Message) Level() string

func (*Message) Previous

func (l *Message) Previous() []MessageData

type MessageData

type MessageData interface {
	Data() interface{}
	ExtraData() map[string]interface{}
	Level() string
	Category() string
	Except() []int
	AddExceptTarget(key int)
	Previous() []MessageData
	AddPrevious(MessageData)
}

type PrintLogTarget

type PrintLogTarget struct {
	BaseLogTarget
}

func (*PrintLogTarget) Log

func (l *PrintLogTarget) Log(message MessageData) error

type Target

type Target interface {
	Log(message MessageData) error
	CanLog(message MessageData) bool
}

func CreateFileLogTarget

func CreateFileLogTarget(FilePath string, levels []string, categories []string) *Target

func CreatePrintLogTarget

func CreatePrintLogTarget(levels []string, categories []string) *Target

Jump to

Keyboard shortcuts

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