Мне было интересно, что лучше всего подходит для использования log4net в Microsoft Orleans? Где это должно быть инициализировано?Log4Net and Orleans
ответ
Я думаю, что лучшее место для инициализации для статических переменных силоса - Silo Bootstrap.
Обратите внимание, что в Орлеане установлен регистратор, и вы можете получить его в зернах, позвонив по номеру this.GetLogger()
.
< редактировать > Можно определить регистратор, унаследованный от ILogConsumer и добавить его в коллекцию журналов поглотителей по телефону Orleans.Runtime.TraceLogger.LogConsumers.Add()
. </редактирование>
< редактировать 2015-07-16 >: Это произошло в Orleans Gitter channel снова, где following advice было предложено от элемента основной команды:
мы публикуем для .NET Трейс, и вы можете новых слушателей. Это действительно лучший способ сделать это, даже не касаясь Orleans.Runtime.TraceLogger.LogConsumers. просто работайте с .NET TRace, с обычными инструментами и конфигурацией. не связанный с Орлеаном. мы просто публикуем в Trace.
Дополнительное примечание к другому сообщению Stackoverflow Logging best practices, в котором Sly Gryphon проходит через инфраструктуру трассировки довольно исчерпывающе.
Практически во всех образцах Орлеана используется статический класс для создания объектов. Log4net использует ту же структуру для создания классов ILog. Нет оснований для использования или сделать это иначе, чем стандартный рекомендованный способ.
«Microsoft не рекомендует использовать статические классы в зернах Орлеана» - есть ли у вас ссылка на это? – stuartd