Ответ 1
Я в основном следую тому, что Tomasz Nurkiewicz должен сказать при рассмотрении уровня ведения журнала:
ОШИБКА - произошло что-то ужасное, что нужно немедленно расследовать. Никакая система не может переносить элементы, зарегистрированные на этом уровне. Пример: NPE, недоступная база данных, критически важный вариант использования не может быть продолжен.
WARN - процесс может быть продолжен, но будьте осторожны. Пример: "Приложение, запущенное в режиме разработки" или "Административная консоль не защищена паролем". Приложение может переносить предупреждающие сообщения, но они всегда должны быть оправданы и проверены.
INFO - завершен важный бизнес-процесс. В идеальном мире администратор или продвинутый пользователь должен понимать сообщения INFO и быстро узнать, что делает приложение. Например, если заявка касается бронирования авиабилетов, в каждом билете должна быть указана только одна заявка INFO, в которой говорится: "[Кто] забронировал билет с [Где] до [Где]". Другое определение сообщения INFO: каждое действие значительно изменяет состояние приложения (обновление базы данных, внешний системный запрос).
DEBUG - разработчики.
VERBOSE - очень подробная информация, предназначенная только для разработки. Вы можете сохранять сообщения трассировки в течение короткого периода времени после развертывания в рабочей среде, но относить эти операторы журналов как временные, которые в конечном итоге должны быть или могут быть отключены. Различие между DEBUG и VERBOSE является наиболее сложным, но если вы поместите инструкцию регистрации и удалите ее после того, как функция была разработана и протестирована, она, вероятно, должна быть на уровне VERBOSE.
Мой самый любимый уровень - WTF (2.2+), который, как предполагается, будет означать "Что такое ужасная неудача", для ситуаций, которые никогда не должны происходить.
Обычно я использую "информацию" для простых сообщений.