Files
XTLS_Xray-docs-next/docs/ru/development/lua/reference/module-log.md
T

70 lines
3.5 KiB
Markdown

# xray.log
Записывает сообщения в систему журналирования Xray.
```lua
local log = require("xray.log")
```
## Указатель API
| Категория | Член API | Описание |
| --------- | ---------------------------------- | ------------------------ |
| Функция | [`log.Debug(...)`](#log-debug) | Запись сообщения debug |
| Функция | [`log.Info(...)`](#log-info) | Запись сообщения info |
| Функция | [`log.Warning(...)`](#log-warning) | Запись сообщения warning |
| Функция | [`log.Error(...)`](#log-error) | Запись сообщения error |
## Функции
### log.Debug
```lua
log.Debug(...)
```
Записывает сообщение уровня `debug`.
**Параметры**
| Параметр | Тип | Описание / Требования |
| -------- | ------------------ | ------------------------------------------------------------ |
| `...` | Любое значение Lua | Необязательны; любое число значений, объединяемых по порядку |
**Возвращаемые значения**
Нет возвращаемых значений.
**Преобразование аргументов**
Допускается вызов без аргументов, а также `nil`, `""`, `{}` и пустые срезы. Аргументы преобразуются в текст и объединяются по порядку без автоматической вставки пробелов или разделителей.
- Значения [`error`](./data-types.md#error) в первую очередь преобразуются в сообщения об ошибках.
- Для остальных значений с функцией `__tostring` используется это преобразование; исключения из него передаются вызывающему коду.
- Остальные значения используют строковое представление по умолчанию. `nil` становится `"nil"`, пустая строка не добавляет текст; таблицы и срезы не разворачиваются в списки элементов.
**Условия вывода**
Сообщения имеют префикс с именем файла вызывающего скрипта. Вывод зависит от [`log.loglevel`](../../../config/log.md#logobject). Например, при уровне `warning` функции `Debug` и `Info` ничего не выводят и не вызывают преобразование аргументов через `__tostring`.
Ни одна из четырёх функций не возвращает `err`. Если присвоить результат вызова переменной, она получит `nil`; по этому значению нельзя определить, было ли сообщение успешно записано.
**Пример**
```lua
log.Info("Запрашиваемый домен: ", domain)
log.Warning("Ошибка запроса к вышестоящему серверу: ", err)
```
### log.Info
Как описано выше.
### log.Warning
Как описано выше.
### log.Error
Как описано выше.