Перейти к содержанию

Соглашения по ведению журнала

Категории уровней ведения журнала

etcd использует библиотеку zap для записи сообщений приложения, разделённых по уровням. Уровень сообщения в журнале определяется в соответствии со следующими соглашениями:

  • Журналы уровня DebugLevel, как правило, объёмные и обычно отключены в рабочей среде.

    • Примеры:
      • Отправка обычного сообщения удалённому узлу
      • Сохранение записи журнала на диск
  • InfoLevel является приоритетом ведения журнала по умолчанию.

    • Примеры:
      • Конфигурация при запуске
      • Начало создания снимка
      • Добавление нового узла в кластер
      • Добавление нового пользователя в подсистему аутентификации
  • Журналы уровня WarnLevel более важны, чем Info, но не требуют отдельной проверки человеком.

    • Примеры:
      • Неудача при отправке сообщения Raft удалённому узлу
      • Неудача при получении сообщения heartbeat в течение заданного тайм-аута выборов
  • Журналы уровня ErrorLevel имеют высокий приоритет. Если приложение работает без сбоев, оно не должно генерировать журналы уровня ошибок.

    • Примеры:
      • Неудача выделения дискового пространства для WAL
  • PanicLevel записывает сообщение, а затем вызывает панику.

    • Примеры:
      • Сбой при кодировании сообщений Raft
  • FatalLevel записывает сообщение, а затем вызывает os.Exit(1).

    • Примеры:
      • Неудача при сохранении снимка Raft