¿Cuál es la diferencia entre log4net y ELMAH?

¿Cuál es la diferencia entre log4net y ELMAH?

Log4Net es un marco de registro de propósito general con una API destinada a ser utilizada dentro de su aplicación (web, consola, dll, etc.).

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");

ELMAH es un complemento IIS discreto específicamente para registrar excepciones en una aplicación web. No verá una referencia a ELMAH dentro de su aplicación, no tiene una API con la que interactúe. Utiliza los puntos de extensión IIS del módulo y del controlador para fijar el comportamiento. Además cuenta con un front-end web para visualizar los errores que se han producido en tu aplicación web. Log4Net no tiene un front-end, solo una variedad de receptores de registro (Appenders) que pueden enviar sus mensajes de registro a cosas como archivos de registro, un servidor syslog, una base de datos, etc.


ELMAH tiene el propósito de rastrear errores y excepciones para sus aplicaciones web y le permite registrar o ver fácilmente esas excepciones a través de muchos mecanismos diferentes (SQL, RSS, Twitter, archivos, correo electrónico, etc.). Si no tiene un manejo de excepciones integrado, lo más probable es que ELMAH le proporcione lo que está buscando en términos de manejo de excepciones en un entorno de aplicación web.

Log4net también se puede usar para el registro de excepciones, sin embargo, es posible que deba implementar sus propios controladores para conectarlos a su aplicación web. Log4net brillará sobre ELMAH si necesita realizar otros tipos de registro de información, ya que log4net es un marco de registro de propósito general. Log4net también se puede utilizar en casi cualquier aplicación .NET.


La diferencia clave es que ELMAH registra las excepciones de aplicaciones no controladas; log4net registra todo lo que le digas que registre. Puede configurar log4net para registrar excepciones no controladas, pero ELMAH captura una gran cantidad de información útil lista para usar.