log

package
v3.2.12 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2023 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package log

Package log

Package log

Package log

Package log

Package log

Package log

Package log

Package log

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Err

type Err interface {
	Anchor() error // Якорь, по которому можно сравнивать две ошибки между собой.
	Code() uint8   // Код ошибки.
	Error() string // Сообщение об ошибке или шаблон сообщения об ошибке.
}

Err Интерфейс ошибки приложения.

type Error

type Error struct{}

Error Объект-одиночка со списком ошибок которые можно сравнивать по якорю через '=='.

func Errors

func Errors() *Error

Errors Справочник всех ошибок пакета.

func (*Error) HandlerAlreadySubscribed

func (e *Error) HandlerAlreadySubscribed(code uint8, subscriberName string) Err

HandlerAlreadySubscribed Обработчик логов ... уже зарегистрирован.

func (*Error) HandlerSubscriptionNotFound

func (e *Error) HandlerSubscriptionNotFound(code uint8, subscriberName string) Err

HandlerSubscriptionNotFound Регистрация обработчика логов ... не найдена.

func (*Error) LogPanicException

func (e *Error) LogPanicException(code uint8, subscriberName, err interface{}, stack []byte) Err

LogPanicException Вызов обработчика сообщений лога ... прервана паникой: ... ....

type Handler

type Handler func(msg *Message)

Handler Обработчик сообщений лога.

type Logger

type Logger interface {
	// Initialization Инициализация менеджера логирования.
	Initialization() (err error)

	// Debug Установка флага отладки.
	Debug(d bool) Logger

	// MessageGet Получение объекта сообщений лога из бассейна объектов.
	MessageGet() (msg *Message)

	// MessagePut Функция для возврата объекта сообщений лога в бассейн объектов.
	// Функция используется только для возврата объекта в бассейн без вывода сообщения в лог.
	MessagePut(msg *Message)

	// Message Отправка log сообщения к обработчику сообщений.
	// Отправленные сообщения через эту функцию, отправлять в PutMessage не требуется.
	Message(msg *Message)

	// FlushAndClose Очистка буферизированных каналов, ожидание окончания обработки всех накопленных в памяти сообщений,
	// восстановление состояния стандартного лога.
	FlushAndClose()

	// HandlerSubscribe Регистрация обработчика сообщений лога с указанием интервала уровней сообщения лога,
	// которые будут передаваться подписчику.
	// min - Минимальный уровень сообщений лога, включительно.
	// max - Максимальный уровень сообщений лога, включительно.
	// В режиме отладки приложения, фильтрация по уровню сообщений лога не применяется.
	HandlerSubscribe(handler Handler, min, max kitModuleLogLevel.Level) (err error)

	// HandlerUnsubscribe Удаление обработчика сообщений лога.
	HandlerUnsubscribe(handler Handler) (err error)

	// Write Реализация интерфейса io.Writer.
	Write([]byte) (int, error)

	// WriteString Реализация интерфейса io.StringWriter.
	WriteString(string) (int, error)

	// Errors Все ошибки известного состояния, которые может вернуть приложение или функция.
	Errors() *Error
}

Logger Интерфейс логирования.

func New

New Конструктор объекта интерфейса Logger. out - Интерфейс вывода всех сообщений. bus - Интерфейс шины данных.

type Message

type Message struct {
	Timestamp time.Time               `json:"timestamp"`          // Время записи.
	Level     kitModuleLogLevel.Level `json:"level"`              // Уровень логирования сообщения.
	Pattern   *bytes.Buffer           `json:"pattern,omitempty"`  // Шаблон сообщения.
	Argument  []interface{}           `json:"argument,omitempty"` // Аргументы сообщения.
	Keys      map[string]interface{}  `json:"keys,omitempty"`     // Ключи сообщения.
	Trace     *kitTypes.TraceInfo     `json:"trace"`              // Информация о вызове и стеке.
	Fatality  bool                    `json:"fatality"`           // Флаг фатальности.
	Done      chan struct{}           `json:"-"`                  // Канал ожидания завершения. После получения сигнала, объект вернётся в бассейн.
}

Message Объект сообщения лога.

func (*Message) Reset

func (msg *Message) Reset()

Reset Сброс объекта сообщения лога.

Directories

Path Synopsis
Package level
Package level

Jump to

Keyboard shortcuts

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