# Настройка журнала

Настройка журнала управляет тем, как Xray выводит журналы.

Xray имеет два типа журналов: журнал доступа и журнал ошибок.  
Вы можете настроить способ вывода каждого типа журнала отдельно.

::: tip
Настройки логирования применяются не сразу. Поэтому в процессе запуска вы можете увидеть записи от несконфигурированного логгера. Например, могут появиться сообщения уровня `"info"`, даже если вы установили уровень логирования `"warning"`.
:::

## LogObject

LogObject соответствует полю `log` в конфигурационном файле.

```json
{
  "log": {
    "access": "путь/к/файлу",
    "error": "путь/к/файлу",
    "loglevel": "warning",
    "dnsLog": false,
    "maskAddress": ""
  }
}
```

> `access`: string

Путь к файлу журнала доступа.  
Значение должно быть допустимым путем к файлу, например `"/var/log/Xray/access.log"` (Linux) или `"C:\\Temp\\Xray\\_access.log"` (Windows).  
Если этот параметр не указан или имеет пустое значение, журнал выводится в stdout.

- Специальное значение `none` отключает журнал доступа.

> `error`: string

Путь к файлу журнала ошибок.  
Значение должно быть допустимым путем к файлу, например `"/var/log/Xray/error.log"` (Linux) или `"C:\\Temp\\Xray\\_error.log"` (Windows).  
Если этот параметр не указан или имеет пустое значение, журнал выводится в stdout.

- Специальное значение `none` отключает журнал ошибок.

> `loglevel`: "debug" | "info" | "warning" | "error" | "none"

Уровень логирования для журнала ошибок, указывающий, какая информация должна быть записана. Значение по умолчанию — `"warning"`.
Обратите внимание, что этот параметр применяется только к журналу ошибок. Он не влияет на журнал доступа (за исключением значения `"none"`). Журнал доступа не имеет уровней логирования.

- `"debug"`: информация, используемая при отладке программы.  
   Включает всю информацию уровня `"info"`.
- `"info"`: информация о состоянии во время выполнения и т.д., не влияющая на нормальную работу.  
   Включает всю информацию уровня `"warning"`.
- `"warning"`: информация, выводимая при возникновении проблем, не влияющих на нормальную работу, но которые могут повлиять на работу пользователя.  
   Включает всю информацию уровня `"error"`.
- `"error"`: Xray столкнулся с проблемой, которая не позволяет ему работать нормально, и ее необходимо немедленно решить.
- `"none"`: не записывать ничего.

> `dnsLog`: bool

Записывать DNS-запросы, сделанные встроенными DNS-клиентами, в журнал доступа. Пример записи в журнале: DOH//doh.server got answer: domain.com -> [ip1, ip2] 2.333ms.

::: tip

1. Xray не выполняет все DNS-запросы через свои встроенные клиенты. Поэтому включение этой опции не означает, что все DNS-запросы, выполняемые Xray, будут записаны в журнал.

2. DNS-запросы, сделанные встроенными DNS-клиентами, также записываются в журнал ошибок (с уровнем "Info") даже если эта опция отключена.

3. Запросы клиента FakeDNS никогда не записываются в журнал доступа.
   :::

> `maskAddress`: "quarter" | "half" | "full"

Маскировка IP-адресов. При включении автоматически заменяет IP-адреса, встречающиеся в логах, для защиты конфиденциальности при совместном использовании логов. По умолчанию не включено.

В настоящее время доступны следующие уровни маскировки: `quarter`, `half`, `full`. Соответствующие форматы маскировки:

- ipv4 `1.2.*.*` `1.*.*.*` `[Masked IPv4]`
- ipv6 `1234:5678::/32` `1234::/16` `[Masked IPv6]`
