log

package
v4.6.0 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2025 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (

	// Errors Справочник ошибок.
	Errors = func() *Error { return errSingleton }
)

Functions

This section is empty.

Types

type Error

type Error struct {
	dic.Errors

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

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

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

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