2009-10-11 8 views
5

(soggettivo)Esistono altre alternative alla registrazione log4net?

Sto cercando ciò che usi per eseguire il login nella tua applicazione. Questa cosa di log4net mi sta facendo venire il mal di testa. C'è una risposta migliore là fuori o è sempre una soluzione homebrewing? Conosco il sottosistema System.Diagnostics.Trace è abbastanza capace dovrei fare un layer su questo?

+0

Perché non si fa a definire i vostri requisiti/pene con log4net? È piuttosto conveniente dopo esserti abituato. – ripper234

+0

Vedere i commenti sul post di Rippo per alcuni problemi con log4net. –

risposta

7

NLog è probabilmente l'altro grande giocatore in questo settore. Inoltre, c'è un application bloc nella libreria entreprise dedicata alla traccia e alla registrazione.

+1

+1 per NLog, non l'ho visto usare Daremo un'occhiata. –

3

Perché non utilizzare solo le classi .NET per la registrazione?

Con gli ascoltatori personalizzati è possibile eseguire quasi tutto per la registrazione, applicare filtri, diffondere i registri su più destinazioni, database, file, rete, qualsiasi cosa.

Basta guardare fuori da cosa è capace .NET Framework, sarete sorpresi.

+1

Stavo considerando questo approccio. La sfida più grande è che si finisce comunque per implementare tutti gli scrittori per la sicurezza dei thread e il wrapping delle chiamate API client per impedire la formattazione delle stringhe, dall'arresto anomalo dell'applicazione. Poiché la maggior parte della registrazione viene eseguita in un blocco catch, la generazione di eccezioni è un mojo errato. Ancora un approccio percorribile per usare il meccanico, ma finisce per essere per lo più a casa. –

2

Prova Elmah sua piuttosto facile, intendiamoci log4net non è così male una volta che si ottiene la testa in esso ....

Quali realtà sono il mal di testa?

+2

Problemi di massima concurenza con un'applicazione a più istanze. Questo e l'intera faccenda è abbastanza intollerante. Ad esempio, quando un logger fallisce, non vengono richiamati altri logger. E 'anche molto fastidioso in NUnits generare output di errore a causa di collisioni di blocco file con il software attuale. Ciò è dovuto principalmente al modo in cui testiamo i servizi web eseguendo l'host di Asp.net in-proc senza "specializzare" il web.config. –

+0

@ csharptest.net: Non sei proprio sicuro di cosa intendi. Log4net è fail-stop di progettazione; vedi http://logging.apache.org/log4net/release/faq.html sotto "È log4net un sistema di registrazione affidabile?". Se si sta facendo affidamento sulla registrazione per funzionare sempre, log4net non fa per voi. – TrueWill

1

Utilizziamo il Enterprise Library esclusivamente nel nostro ambiente aziendale (Logging Block). E recentemente ho iniziato a usare Log4Net su progetti personali.

Per esperienza, la libreria aziendale, anche se potente, è un potente dolore per essere operativa. Non solo provando solo a capire quale DLL usare, ma la configurazione può diventare ingombrante.

Il rovescio della medaglia, ho trovato Log4Net estremamente facile e puoi essere attivo e funzionante in poco tempo; letteralmente in meno di un'ora.

Concesso Sono un fanatico di MS (ok, non proprio, ma sono la ragione per cui posso guadagnarmi da vivere) e tipicamente con MS. Tuttavia, ho consigliato di migrare a Log4Net al lavoro. La semplicità di questo è davvero rinfrescante.

0

Dai uno sguardo allo Common.Logging. Funziona con tutti i principali framework di registrazione (system.diagnostics, log4net, nlog, libreria entreprise) e consente di cambiare i framework di registrazione dalla configurazione.

Dalla mia esperienza personale: ho utilizzato la traccia .NET in un ambiente aziendale che non ci ha consentito di utilizzare opensource e, dopo aver perfezionato il file rolling del file tracelistener, è stato abbastanza semplice da utilizzare. Ora uso log4net ed è molto carino, ma ci vuole un po 'per abituarsi.

3

ci sono un bel paio di librerie e strumenti di là fuori di registrazione NET, ecco una ricca lista:

http://www.dotnetlogging.com/

Si potrebbe anche voler dare un'occhiata al nostro prodotto di registrazione NET SmartInspect, che fornisce funzionalità di registrazione avanzate (contrariamente alle funzionalità di registrazione di solo testo della maggior parte degli altri strumenti di registrazione) e viene fornito con un visualizzatore di registri e un'applicazione server di registro opzionale.

1

So che questa domanda è troppo vecchia e si sta cercando un'alternativa a log4net, ma credetemi log4net è la migliore soluzione di registrazione ed è più comunemente utilizzata e fornisce anche una vasta gamma di listener di log rispetto a qualsiasi altro framework di registrazione.Inoltre puoi anche implementare un appender personalizzato insieme agli appender integrati. Per coloro che hanno problemi di configurazione di log4net può utilizzare il seguente post che descrive la guida passo passo per farlo funzionare.

Log4Net section in Web.Config generates Error

felice registrazione :)