2009-10-11 17 views
5

(subiektywne)Jakie inne alternatywy dla logowania log4net istnieją?

Szukam, co używasz do logowania w aplikacji. Ta sprawa z log4net sprawia mi ból głowy. Czy jest tam lepsza odpowiedź, czy ktoś po prostu szuka domowego rozwiązania? Wiem, że podsystem System.Diagnostics.Trace jest całkiem zdolny, czy powinienem się na tym podziać?

+0

Dlaczego nie można określić swoje wymagania/bólów z log4net? Jest to wygodne, gdy się do tego przyzwyczaisz. – ripper234

+0

Zobacz komentarze na temat posta Rippo w przypadku niektórych problemów z log4net. –

Odpowiedz

7

jest prawdopodobnie innym dużym graczem w tym obszarze. Ponadto w bibliotece przedsiębiorstw znajduje się application bloc, która służy do śledzenia i rejestrowania.

+1

+1 dla NLog, nie widziałem, żeby był używany. Przyjrzę się. –

3

Dlaczego nie używać tylko klas .NET do rejestrowania?

Za pomocą niestandardowych programów nasłuchujących można wykonać prawie wszystko w celu rejestrowania, można stosować filtry, rozsyłać dzienniki do wielu obiektów docelowych, baz danych, plików, sieci itp.

Po prostu obserwuj, do czego służy .NET-Framework, będziesz zaskoczony.

+1

Rozważałem to podejście. Największym wyzwaniem jest wciąż wdrażanie wszystkich programów piszących do zabezpieczania wątków i zawijanie wywołań API klienta, aby zapobiec formatowaniu ciągów, od awarii aplikacji. Ponieważ większość rejestrowania odbywa się w bloku catch, generowanie wyjątków jest złym mojo. Wciąż realistyczne podejście do korzystania z mechaniki, ale wciąż kończy się głównie na warzeniu w domu. –

2

Spróbuj Elmah jej całkiem proste, pamiętać, że log4net nie jest tak źle, gdy się do niego głowę ....

Co faktycznie są twoje bóle głowy?

+2

Głównie problemy z koncentracją w aplikacji z wieloma instancjami. To i cała sprawa jest dość nietolerancyjna. Na przykład, gdy program rejestrujący nie działa, inne rejestratory nie są wywoływane. Jest to również bardzo denerwujące w NUnitsach generujących błędy wyjściowe z powodu kolizji plików z rzeczywistym oprogramowaniem. Wynika to głównie ze sposobu, w jaki testujemy serwisy internetowe, uruchamiając hosta Asp.net w-proc bez "wyspecjalizowania" pliku web.config. –

+0

@ csharptest.net: Nie jestem pewien co masz na myśli. Log4net przestaje działać zgodnie z projektem; zobacz http://logging.apache.org/log4net/release/faq.html w "Czy log4net jest niezawodnym systemem logowania?". Jeśli chcesz, aby logowanie zawsze działało, log4net nie jest dla Ciebie. – TrueWill

1

Używamy Enterprise Library wyłącznie w naszym środowisku korporacyjnym (Logging Block). Niedawno zacząłem używać Log4Net w osobistych projektach.

Z doświadczenia Biblioteka Przedsiębiorczości, mimo że potężna, jest ogromnym bólem, aby zacząć działać. Nie tylko próbuje dowiedzieć się, które dll należy użyć, ale konfiguracja może stać się nieporęczna.

Z drugiej strony, znalazłem Log4Net, aby był bardzo łatwy i można być uruchomiony w krótkim czasie; dosłownie w mniej niż godzinę.

To prawda, że ​​jestem fanboyem MS (ok, nie do końca, ale oni są powodem, dla którego mogę zarabiać na życie) i zazwyczaj idę z SM. Jednak zaleciłem migrację do Log4Net w pracy. Prostota tego jest naprawdę odświeżająca.

0

Spójrz na Common.Logging. Działa z większością szkieletów logowania (system.diagnostics, log4net, nlog, biblioteka firmowa) i umożliwia przełączanie ramek logowania z konfiguracji.

Z mojego osobistego doświadczenia - korzystałem z śledzenia .NET w środowisku korporacyjnym, które nie pozwalało nam korzystać z opensource, a po udoskonaleniu ruchomego pliku tracelistener było dość łatwe w użyciu. Teraz używam log4net i jest całkiem niezły, ale trzeba się do tego przyzwyczaić.

3

Istnieje sporo bibliotek i narzędzi tam rejestrowania .NET, tu jest obszerna lista:

http://www.dotnetlogging.com/

kupili także do zapoznania się z naszą rejestrowania NET produktu SmartInspect, który przewiduje bogate możliwości rejestrowania (w przeciwieństwie do funkcji logowania do większości innych narzędzi logowania) z przeglądarką dziennika i opcjonalną aplikacją serwera dziennika.

1

Wiem, że to pytanie jest zbyt stare i szukasz alternatywy dla log4net, ale uwierz mi, że log4net jest najlepszym rozwiązaniem do rejestrowania i jest najczęściej używany, a także zapewnia duży zakres detektorów logów niż jakakolwiek inna struktura logowania.Co więcej, możesz nawet zaimplementować niestandardowego aplikatora wraz z wbudowanymi aplikacjami. Dla tych, którzy mają problemy z konfiguracją log4net, możesz użyć następującego posta, który opisuje krok po kroku, jak to zrobić.

Log4Net section in Web.Config generates Error

szczęśliwy rejestrowanie :)

Powiązane problemy