Zauważyłem, że istnieją co najmniej dwa sposoby zapisywania dzienników w Umbraco. Jednym ze sposobów jest użycie klasy LogHelper
, a drugą jest bezpośrednie wykorzystanie metod instancji uzyskanych za pomocą metody log4net.LogManager.GetLogger
. Nie trzeba dodawać, że LogHelper również używa samego log4net.Jaka jest najlepsza praktyka przy logowaniu do Umbraco?
Dodałem niestandardowego aplikatora rejestru, ustaw miejsce docelowe pliku aplikacji jako niestandardowy plik (inny niż domyślny) i próbowałem w obie strony, i zauważyłem, że wyniki w dzienniku są mniej więcej takie same. Wpis LogHelper wygląda tak:
ERROR ProjectName.Controllers.Backoffice.DataController - [P4876/T1/D2] Badanie
natomiast pozycja sprawia, że log4net wygląda następująco:
ERROR ProjectName.Controllers.Backoffice.DataController - Test
Jednak, gdy szukałem wpisów na temat logowania Umbraco, często znajdowałem przykłady użycia log4net bezpośrednio, zamiast używać klasy LogHelper dostarczonej przez Umbraco CMS.
Czy istnieją uzasadnione powody, dla których programiści powinni używać jednego sposobu zamiast drugiego, czy jest to po prostu kwestia preferencji używania metod biblioteki zamiast korzystania z klasy pomocniczej dostarczonej przez CMS (lub odwrotnie? - pomocnik przed biblioteką)?
Świetnie, dzięki. LogHelper wydawał mi się lepszym wyborem na pierwszy rzut oka, chciałem tylko upewnić się, że nie brakuje mi czegoś oczywistego - jak korzyść z używania jednego rozwiązania nad drugim –
Używam pomocnika do dziennika, ale nie mogę się wydawać aby umieścić go w dzienniku w pliku umbraco, czy jest coś, co robię źle? Czy muszę wszystko konfigurować przy starcie? –
Generalnie nie; może mógłbyś opisać, jak go używasz; i gdzie szukasz wpisów? Na jakim poziomie logujesz się? –