Skip to content

Журнал

Блок log настраивает логгер sing-box: уровень важности, место записи, наличие метки времени и полное отключение журналирования.

Параметры

ПолеТипПо умолчаниюДопустимые значенияОписание
disabledboolfalsetrue | falseПри значении true sing-box устанавливает пустую (no-op) фабрику логов. Ничего никуда не записывается независимо от остальных полей.
levelstringtracetrace | debug | info | warn | warning | error | fatal | panicМинимальный уровень важности. Пустая строка трактуется как значение по умолчанию. Ключевые слова "warn" и "warning" — допустимые синонимы.
outputstring(stderr)<empty> | stderr | stdout | <file path>Куда записывать строки журнала. Пустое значение означает stderr; "stderr" и "stdout" — буквальные имена потоков; любое другое значение трактуется как путь к файлу.
timestampboolfalsetrue | falseПри значении true каждая строка предваряется меткой времени вида "-0700 2006-01-02 15:04:05". Обязательно, чтобы метка времени появлялась в файловом выводе.

Исходный код: option/options.go:40-46 · зафиксировано на v1.13.15 (3708fa1)

Примеры

Поведение по умолчанию (блок log в файле полностью опущен — эквивалентно {}):

json
{
  "log": {}
}

Тихая конфигурация sing-box для развёртывания:

json
{
  "log": {
    "level": "warn",
    "timestamp": true,
    "output": "/var/log/sing-box.log"
  }
}

Полностью отключить журналирование:

json
{
  "log": {
    "disabled": true
  }
}

Примечания

  • Если level оставлен пустым, уровень по умолчанию — trace (самый подробный), а не info — см. log/log.go:67-69. В большинстве боевых конфигураций level стоит задавать явно.
  • Значения "stderr" и "stdout" для output — буквальные имена потоков; любое другое непустое значение трактуется как путь к файлу (log/log.go:32-45).
  • При записи в файл цвета принудительно отключаются, а метки времени принудительно включаются независимо от настройки timestamp — см. настройку форматтера в log/log.go:46-52.

Исходный код: option/options.go:40-46 · v1.13.15 (3708fa1)

Core Tutorial от Argsment