Qual è la differenza tra log4net e ELMAH?

Qual è la differenza tra log4net e ELMAH?

Log4Net è un framework di registrazione per scopi generici con un'API destinata a essere utilizzata all'interno dell'applicazione (web, console, dll, ecc.).

logger.Debug("Some low level debug message...");
logger.Info("Some basic info");
logger.Warn("Some business logic problem, but not critical");
logger.Error("An unexpected error");

ELMA è un plug-in IIS discreto specifico per la registrazione di eccezioni in un'applicazione web. Non vedrai un riferimento a ELMAH all'interno della tua applicazione, non ha un'API con cui interagisci. Utilizza i punti di estensione IIS del modulo e del gestore per imbullonare il comportamento. Inoltre ha un front-end web per visualizzare gli errori che si sono verificati nella tua applicazione web. Log4Net non ha un front-end, solo una varietà di log sink (Appenders) che possono inviare i tuoi messaggi di log a cose come file di log, un server syslog, un database, ecc.


ELMAH ha lo scopo di tenere traccia di errori ed eccezioni per le tue applicazioni web e ti consente di registrare o visualizzare facilmente tali eccezioni tramite molti meccanismi diversi (SQL, RSS, Twitter, file, e-mail, ecc.). Se non hai una gestione delle eccezioni integrata, ELMAH molto probabilmente ti darà ciò che stai cercando in termini di gestione delle eccezioni in un ambiente di applicazioni web.

Log4net può essere utilizzato anche per la registrazione delle eccezioni, tuttavia potrebbe essere necessario eseguire il rollover dei propri gestori per collegarsi all'applicazione Web. Log4net brillerà su ELMAH se è necessario eseguire altri tipi di registrazione delle informazioni poiché log4net è un framework di registrazione per scopi generici. Log4net può essere utilizzato anche in quasi tutte le applicazioni .NET.


La differenza fondamentale è che ELMAH registra le eccezioni dell'applicazione non gestite; log4net registra tutto ciò che gli dici di registrare. Puoi configurare log4net per registrare le eccezioni non gestite, ma ELMAH acquisisce una vasta gamma di informazioni utili immediatamente.