2015-02-24 25 views
5

Zastanawiam się, jaka jest najlepsza praktyka używania log4net w Microsoft Orleans? Gdzie należy zainicjować?Log4Net i Orleans

+0

"Microsoft zniechęca do używania klas statycznych w ziarnie Orleanu" - czy masz na to odnośnik? – stuartd

Odpowiedz

8

Myślę, że najlepszym miejscem do zainicjowania na statyczne zmienne silosu jest Silo Bootstrap.

Należy pamiętać, że Orlean ma skonfigurowany rejestrator i można go uzyskać w ziarnie, dzwoniąc pod numer this.GetLogger().

<edit> Można zdefiniować rejestrator dziedziczenie z ILogConsumer dodać kolekcję zlewozmywaków dziennika wywołując Orleans.Runtime.TraceLogger.LogConsumers.Add(). </edit>

< edit 16.07.2015 >: ten wyszedł w Orleans Gitter channel znowu, gdzie following advice był oferowany od członka zespołu rdzeń:

publikujemy na .NET śladowych i można posłuchaj nowych słuchaczy. to najlepszy sposób na zrobienie tego, nawet bez dotykania Orleans.Runtime.TraceLogger.LogConsumers. wystarczy pracować z .NET TRace, przy użyciu zwykłych narzędzi i konfiguracji. niezwiązane z Orleanem. właśnie publikujemy w Trace.

Dodatkowy punkt uwagi tutaj do innego Stackoverflow post Logging best practices, w którym Sly Gryphon przechodzi przez infrastrukturę śledzenia raczej wyczerpująco.

1

W prawie wszystkich próbach Orleanu używa się klasy statycznej jako fabryki do tworzenia obiektów. Log4net używa tej samej struktury do tworzenia klas ILog. Nie ma powodu, aby go używać, lub robić to w inny sposób niż standardowy sposób zalecany.