Использование log4J уровней

Что является лучшей практикой в использовании log4j уровни при кодировании. Я имею в виду, когда делают мы используем ИНФОРМАЦИОННЫЙ вход, когда делают мы используем вход ОТЛАДКИ / Регистрация ошибок и т.д.

15
задан tangens 9 February 2010 в 17:34
поделиться

5 ответов

Лучше всего учиться на примере. Читайте исходные тексты некоторых вещей с открытым исходным кодом, например, о, Tomcat или что-то еще в вашей области применения, и посмотрите, что вы видите.

.
7
ответ дан 1 December 2019 в 01:05
поделиться

В общем, я следую следующим рекомендациям:

  • DEBUG : события, которые имеют бизнес значение - создание клиента, зарядка cc...
  • WARN : может быть проблемой, но не останавливает ваше приложение. адрес электронной почты не найден / недействительный
  • ERROR : непредвиденная проблема. не смог открыть db-соединение и т.д...
18
ответ дан 1 December 2019 в 01:05
поделиться

ERROR протоколирование должно всегда быть включено.

INFO + DEBUG должно быть включено при отслеживании проблем/ошибок.

.
0
ответ дан 1 December 2019 в 01:05
поделиться
[

] К тому, о чем говорили другие, я бы добавил уровни TRACE и FATAL, первый хорошо подходит для очень подробного протоколирования, второй - для обозначения тотального стоппера шоу. Есть общие инструкции по использованию уровней, о которых упоминалось выше. Однако, наиболее важным []важным [] является то, как []YOU[] будет его использовать и как ваши []USERS[] будут его интерпретировать. Вам нужны уровни, чтобы сфокусироваться на проблемах, поэтому решите, в чем проблема в вашем случае. Вашим пользователям вряд ли когда-нибудь понадобятся отладочные утверждения, но они определенно захотят закрепить проблемы и сообщить о них вам.[

].
0
ответ дан 1 December 2019 в 01:05
поделиться

Я не думаю, что вы сможете найти то, что вы ищете к сожалению - у меня такая же проблема.

Шаблоны WordPress могут предположить довольно известную модель данных - каждая установка WordPress использует одни и те же предсказуемые имена таблиц, каждое (скаженное) страницу блога имеет четко определенный набор данных, которые будут переданы на шаблон - и даже Плагины имеют только ограниченное количество точек плагина, чтобы добавить дополнительные данные.

Напротив, ваше приложение Django может содержать все . Я мог бы предоставить вам красивый шаблон, но если только данные, которые я использую в шаблоне, точно совпадающих на вашей модели данных, она не будет полезна. Я мог бы сделать шаблон очень общим - например, просто имел его отображение переменную, называемую «формой», если она присутствует, произойдет по поводу «сообщений», если какие-либо присутствуют в верхней части страницы, отобразить «нижний колонтитул» в нижней части и т. Д. - Но это займет у вас примерно за 20 секунд, прежде чем вы захотите настроить отображение этой формы, а затем вы можете редактировать свои собственные шаблоны.

Я думаю, что самая близкая вещь, которую вы собираетесь найти, - это библиотеки пользовательских пользовательских интернет-пользовательских пользовательских интернет-пользовательских пользователей, такие как jQuery или Yui , которые могут справиться с большим количеством работ по созданию вашего пользовательского интерфейса Snazzy.

Я хотел бы, чтобы быть доказанным, хотя, это спасет меня проходить через то же проб, когда вы проходите сейчас.

Обновление: повторно чтение этого, оно пришло в голову, что вы ищете CMS, который Django нет. Две секунды работы с Google показали Django CMS . Я не пробовал это, но, возможно, это ближе к тому, что вы ищете? У Вики Django есть таблица сравнения различных решений CMS на основе Django

-121--3690587-

Моя базовая линия всегда в том, что info уровень эквивалентен системе .Out, и ошибка эквивалентна System.err.

Debug - Здесь вы помещаете всю информацию о трассировке, а также конкретно информации, которую вы не хотите видеть, когда ваш «уровень комфорта» является System.out.

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

Warn - предоставить предупреждения о том, что что-то неверно, возможно, неожиданно используется или что используется обходной путь, но приложение все еще может продолжаться (Timeout / Retries сокета, неверный ввод пользователя и т. Д.).

Ошибка - предупреждает о проблемах, которые предотвращают его приложение, например, База данных снижается, отсутствует конфигурация загрузки.

Общая ошибка при записи библиотек - использовать уровень ошибки, чтобы указать проблемы с приложением вызова (код, который использует библиотеку) вместо того, чтобы указывать на реальные ошибки в самой библиотеке. Смотрите, например, эта гибернация Bug -> http://opensource.atlassian.com/projects/ibernate/browse/hhhh-3731

Это действительно раздражает, потому что сообщения от уровня ошибок действительно трудно подавлять, поэтому использовать их только указывают на проблемы с вашим собственным кодом.

Все - Я на самом деле не использую этот, он практически такой же, как отладка или след.

10
ответ дан 1 December 2019 в 01:05
поделиться