Я использую log4Net
для моего входа. У меня также есть следующий набор...
<log4net debug="true"> .. </>
Хорошо, теперь, когда у меня есть следующий код
log4net.Config.BasicConfigurator.Configure();
Я действительно не получаю подробной внутренней информации об отладке, но я действительно становлюсь отображенным что-либо, что я регистрирую.
Теперь, когда я выгружаю тот код и заменяю его этим:
log4net.Config.XmlConfigurator.Configure();
Я получаю большую внутреннюю отладку xml информация и что-либо, что я регистрирую, отображен.
Итак, почему это? каково различие между двумя?
BasicConfigurator
позволяет настроить только один аппендер, в корне, и он может вести журнал только в консоль. Он не дает вам никакой отладочной информации, потому что нет никакой отладочной информации.
XmlConfigurator
дает вам полный набор опций конфигурации log4net - подробности см. в разделе Configuration руководства. На самом деле он начинается с примера использования BasicConfigurator
и далее показывает все дополнительные свойства, которые вы можете задать в XML.
В производственном приложении вы, вероятно, захотите иметь различные регистраторы с различными приложениями, использующими различные пороговые значения и области; вы, вероятно, будете получать информацию о журнале от нескольких различных компонентов и не захотите делать точно такой же журнал для каждого из них. Вы также определенно захотите вести журнал в другие места, кроме консоли - файлы журнала, журнал событий, оповещения по электронной почте и тому подобное. Это можно сделать только с помощью XmlConfigurator
.