Обзор
Логирование nodeos задаётся файлом logging.json. Опции CLI при запуске nodeos позволяют настроить logging.json. В конфигурации задаются аппендеры, привязка к логгерам и уровни логирования.
Аппендеры¶
Встроенная библиотека логирования COOPOS поддерживает два типа аппендеров:
Консоль¶
Вывод сообщений на экран. Параметры:
name— произвольное имя для ссылок из логгеровtype—"console"stream—"std_out"или"std_err"level_colors— сопоставление уровня логирования цвету- level — см. уровни логирования
- color — одно из:
"red","green","brown","blue","magenta","cyan","white","console_default" enabled— включить/выключить аппендер
Пример:
{
"name": "consoleout",
"type": "console",
"args": {
"stream": "std_out",
"level_colors": [{
"level": "debug",
"color": "green"
},{
"level": "warn",
"color": "brown"
},{
"level": "error",
"color": "red"
}
]
},
"enabled": true
}
GELF¶
Отправка сообщений в Graylog — платформу сбора, индексации и анализа логов. Параметры:
name— произвольное имя для ссылок из логгеровtype—"gelf"endpoint— IP-адрес и портhost— имя хоста в Graylog, идентификатор источникаenabled— включить/выключить аппендер
Пример:
{
"name": "net",
"type": "gelf",
"args": {
"endpoint": "104.198.210.18:12202”,
"host": <YOURNAMEHERE IN QUOTES>
},
"enabled": true
}
Логгеры¶
Поддерживаются такие логгеры:
default— логгер по умолчанию, всегда включёнnet_plugin_impl— подробный лог сетевого плагинаhttp_plugin— подробный лог HTTP-плагинаproducer_plugin— подробный лог плагина продюсераtransaction_tracing— подробный лог вердиктов ретрансляторов в P2Ptransaction_failure_tracing— подробный лог неуспешных вердиктов в P2Ptrace_api— подробный лог плагина trace_api
Параметры:
name— должно совпадать с одним из имён вышеlevel— см. уровни нижеenabled— включить/выключить логгерadditivity—trueилиfalseappenders— список имён аппендеров из конфигурации аппендеров
Пример:
{
"name": "net_plugin_impl",
"level": "debug",
"enabled": true,
"additivity": false,
"appenders": [
"net"
]
}
Note
Если logging.json нет, у всех логгеров по умолчанию уровень info. В logging.json каждый логгер настраивается отдельно.