Логирование
Структурированное логирование с уровнями debug, info, warn и error.
Загрузка
local logger = require("logger")
Уровни логирования
Debug
logger:debug("message", {key = "value"})
| Параметр | Тип | Описание |
|---|---|---|
message |
string | Сообщение лога |
fields |
table? | Контекстные пары ключ-значение |
Info
logger:info("message", {key = "value"})
| Параметр | Тип | Описание |
|---|---|---|
message |
string | Сообщение лога |
fields |
table? | Контекстные пары ключ-значение |
Warn
logger:warn("message", {key = "value"})
| Параметр | Тип | Описание |
|---|---|---|
message |
string | Сообщение лога |
fields |
table? | Контекстные пары ключ-значение |
Error
logger:error("message", {key = "value"})
| Параметр | Тип | Описание |
|---|---|---|
message |
string | Сообщение лога |
fields |
table? | Контекстные пары ключ-значение |
Настройка логгера
С полями
Создать дочерний логгер с постоянными полями.
local child = logger:with({request_id = id})
child:info("message")
| Параметр | Тип | Описание |
|---|---|---|
fields |
table | Поля для добавления ко всем логам |
Возвращает: Logger
Именованный логгер
Создать именованный дочерний логгер.
local named = logger:named("auth")
named:info("message")
| Параметр | Тип | Описание |
|---|---|---|
name |
string | Имя логгера |
Возвращает: Logger
Ошибки
logger:named("") выбрасывает ошибку аргумента Lua (name cannot be empty) вместо возврата значения ошибки. Методы логирования ничего не возвращают.
См. Обработка ошибок для работы с ошибками.