0: нет регистрации
1: каротаж исключения: журнал каждой брошенной ошибки. Например, в C#: регистрация в блоках catch. Когда эти операции с журналом запускаются, вы знаете, что у вас есть ошибка. Вы также можете регистрировать операторы switch, если есть случай, который никогда не должен быть удачным и тому подобное.
2: ведение журнала операций: операции регистрации, которые не находятся в блоках catch (нормальные операции), должны быть настроены на высокую степень отладки. Таким образом, вы можете увидеть, какой метод запускается, а затем заканчивается в блоке catch.
Также подумайте о переключателях ведения журнала, например о регистрации пакетов (true: протоколировать сетевые пакеты/сообщения, false: do not). Просто не переусердствуйте с переключателями.
При обработке исключений каждый орган метода должен быть как минимум в блоке try-catch, по крайней мере, с общим выводом исключения в конце. Поместите регистрацию в блок catch, добавьте дополнительную информацию, помимо системного сообщения и трассировку стека, чтобы указать, что вызвало ошибку, а затем выбросите ошибку. Остановить ошибки при отправке только тогда, когда пользователь был уведомлен об ошибке, или вы находитесь на верхнем уровне приложения, у которого нет активного пользовательского интерфейса. (Например, ведение журнала на стороне сервера.) Затем вам нужно указать в сообщении клиентскому приложению, что ошибка произошла на стороне сервера.
Я заметил, что большинство ответов здесь говорят об общих уровнях журналов, которые кажутся почти стандартизированными (отладка, информация, уведомление, предупреждение и т. Д.), Но на самом деле возникает вопрос об уровнях журнала DEBUG для увеличения/уменьшения «многословия» уровень отладочного журнала. Я предполагаю, что это будет другая цифровая подсистема. Однако paxdiablo, включая такие вещи, как LOG_ENTRY, в основную систему, похоже, может быть лучшей идеей. – Programster 2014-04-17 08:55:45