log

package
v4.2.3 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

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 any, 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  []any                   `json:"argument,omitempty"` // Аргументы сообщения.
	Keys      map[string]any          `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

Jump to

Keyboard shortcuts

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