Что такое «Надежная» регистрация? - PullRequest
4 голосов
/ 07 августа 2010

Итак, на днях я разговаривал с парнем о блоке приложений журналирования Enterprise Library и log4net.

Я заметил, что log4net утверждает: log4net не надежен. Это лучшая система журналирования с полным остановом.

Удивительно, но я пытался выяснить, надежно ли ведение журнала в Enterprise Library. Это все, что я могу найти, где слово "надежный" явно используется. (обратите внимание, что это версия 2004 года)

Итак, мне стало любопытно, что именно такое "надежная" регистрация? Если кто-нибудь знает, является ли блок приложения Enterprise Library Logging надежным (в текущей версии), могут ли они указать мне на некоторую документацию, которая говорит об этом явно?

Спасибо.

Ответы [ 3 ]

1 голос
/ 31 августа 2010

Большинство библиотек журналов, таких как log4net и Enterprise Library, выбирают проглатывать исключения, которые могут быть выброшены в процессе журналирования, чтобы предотвратить остановку приложения.Из-за этого эти библиотеки нельзя назвать «надежными» (согласно документации log4net).

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

Для меня это было одной из причин создания библиотеки журналирования под названием CuttingEdge.Logging .Поставщики журналов в CuttingEdge.Logging всегда выдают исключение, когда событие не может быть зарегистрировано.Сконфигурировав «запасного провайдера» для определенного регистратора, пользователи могут предотвратить образование пузырей в стеке вызовов исключающими ситуациями и позволить резервному провайдеру зарегистрировать исходное сообщение и исключение, выданное сбойным регистратором.Сами резервные поставщики могут также иметь настроенный резервный поставщик. Этот механизм делает очень маловероятным, что исключения не будут регистрироваться при использовании CuttingEdge.Logging.

1 голос
/ 07 августа 2010

Я полагаю, что «надежный» означает, что после отправки сообщение гарантированно будет доставлено или физически записано на конечное устройство.

0 голосов
/ 07 августа 2010

На первый взгляд, «надежный» означает, что сообщение всегда регистрируется. log4net, по-видимому, пытается выполнить ведение журнала, но если это не удастся, произойдет сбой и приложение продолжит работу.

...