Каковы варианты использования для числовых значений c уровней журнала? - PullRequest
0 голосов
/ 28 января 2020

В популярных каркасах журналирования, таких как Java log4j или Python * logging, уровни журналов имеют связанные числовые значения, см. здесь .

Те числовые значения используются для определения серьезности данного уровня журнала.

Но есть ли другие реальные варианты использования для этого числового значения?

1 Ответ

11 голосов
/ 31 января 2020

Когда вы выбираете регистрировать данный уровень, вы также хотите регистрировать более высокие уровни гравитации.

Связывание каждого уровня регистрации с целым числом значительно упрощает определение необходимости заданного уровня c. зарегистрировано или нет, потому что на самом деле это простое сравнение этой формы:

if current_log_level >= wanted_log_level then log_it() else drop_it()

Допустим, вы хотите регистрировать предупреждения, поэтому вы определяете уровень журнала на WARNING, значение которого равно 30. Затем. ..

  • ЖУРНАЛЫ КРИТИЧЕСКИ регистрируются, потому что 50> = 30 - это Истина
  • Журналы ОШИБКИ регистрируются, потому что 40> = 30 - это Истина
  • Журналы ПРЕДУПРЕЖДЕНИЯ регистрируются, потому что 30> = 30 - это правда
  • Журналы ИНФОРМАЦИИ НЕ регистрируются, потому что 20> = 30 - это ложь
  • Журналы ОТЛАДКИ НЕ регистрируются, поскольку 10> = 30 - это ложь

Просто подумайте, какой код необходим для решения этой простой проблемы, если уровни журналов были строками ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...