Log.INFO vs. Log.DEBUG [закрыто]

99

Я разрабатываю большую коммерческую программу и все время путаюсь, какую информацию я хочу регистрировать с помощью Log.INFO и Log.DEBUG. Существуют ли какие-либо стандарты или практические правила для каждого типа сообщений журнала?

Cytinus
источник

Ответы:

137

Обычно я пытаюсь использовать это так:

  • DEBUG: информация, интересная разработчикам при попытке отладить проблему.
  • ИНФОРМАЦИЯ: информация, интересная для сотрудников службы поддержки, пытающихся выяснить контекст данной ошибки.
  • WARN to FATAL: проблемы и ошибки в зависимости от уровня повреждения.
нфехнер
источник
можно ли всегда включать INFO в производственной среде, повлияет ли это на производительность?
pinkpanther
1
Это зависит ... (мне нравится этот ответ). Факторы, которые вам необходимо принять во внимание: 1. Количество строк информационного журнала 2. Настройка регистрации (где заканчиваются ваши строки регистрации?) 3. Доступная обработка и мощность io на устройстве соответствующие системы.
nfechner
1
И имейте в виду, что чем больше шума, тем труднее обнаружить проблемы. Из plumberjack.blogspot.be/2010/09/… :> В соответствии с философией Unix, программное обеспечение не должно быть чрезмерно многословным, кроме тех случаев, когда это необходимо или требуется. (почему я не могу процитировать это?)
axd
40

Отладка : подробные инструкции о состоянии программы, обычно используемые для отладки;

Информация : информационные сообщения о состоянии программы, представляющие программные события или отслеживание поведения;

Предупреждение : утверждения, описывающие потенциально опасные события или состояния в программе;

Ошибка : утверждения, описывающие нефатальные ошибки в приложении; этот уровень довольно часто используется для регистрации обработанных исключений;

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

Найдено на http://www.beefycode.com/post/Log4Net-Tutorial-pt-1-Getting-Started.aspx

Ясень Бурлаченко
источник
Следует ли рассматривать ошибки, вызванные пользовательским вводом, как предупреждения или ошибки? (IE Неверное имя пользователя или пароль)
Stevoisiak
@Stevoisiak, основываясь на его ответе, я думаю, это следует рассматривать как информацию.
aderchox
9

Кроме того, помните , что все info(), error()и debug()регистрирующие вызовы обеспечивают внутреннюю документацию в любом приложении.

Pinky
источник
Думаю, это хорошее замечание. Например, log.info("parse the widget text; ignore contents of 'foo'")служит полезной документацией при чтении кода, даже если это также оператор журнала.
Stew