.net asp.net logging log4net elmah

.net - ¿Usando log4net y dónde implementarlo y usar con elmah?



asp.net logging (2)

He estado usando log4net por un tiempo y principalmente tengo mi capa de datos y las capas de negocios hacen todo el registro de errores. Sin embargo, si su capa de presentación tiene una cantidad decente de "informática" con objetos, valdría la pena tener la información apropiada registrada allí también.

Puede configurar log4net para que tenga sus configuraciones almacenadas en el archivo .config, o en su propio archivo de configuración separado. La ventaja del archivo separado es que si necesita cambiar los modos de registro sobre la marcha, puede hacerlo en el archivo .config por separado y no hacer que IIS active una actualización de la aplicación del sitio.

No he usado ELMAH todavía, pero se ve muy bien. Creo que, lo que es más importante, proporciona una forma de conectarse a las aplicaciones existentes sin complicaciones. Sin embargo, log4net proporciona una manera más fácil de obtener información de registro más detallada y extensa ya que tiene tantas opciones de configuración para trabajar.

Si no necesita un nivel de registro detallado para sus aplicaciones, me gustaría ir con ELMAH. Si desea obtener un enfoque más detallado, tómese el tiempo para trabajar log4net en su aplicación.

Esa es mi 10 bits.

¿Alguien tiene experiencia con log4net, he estado buscando en elmah, que es genial. Pero quería un poco más de control, es decir, usar el registro no solo en asp.net sino también en wpf.

Anway, decidí echar un vistazo a log4net.

Tengo 2 clientes, (wpf y asp.net) que comparten la lógica comercial.

¿Debería plantear eventos en la lógica comercial y en el cliente también?

Supongo que la lógica de negocios usará app.config / web.config (la lógica de negocios está en otra capa, un proyecto de clase)

¿Alguien ha usado log4net junto con elmah, de todos modos puede hacer que compartan la misma tabla de db?

log4net me parece el marco de trabajo de registro final, pero elmah tiene esa ventaja de enviar todas las variables del SERVIDOR y el seguimiento de la pila, etc.

O tal vez es posible obtener Log4net para guardar la Stacktrace también y reemplazar elmah por completo?

Cualquier comentario realmente apreciado


Se usan con dos propósitos diferentes.

Elmah se usa para atrapar y almacenar las excepciones que no esperabas . También proporciona algunas interfaces (página web, RSS, alerta de correo electrónico) para entregar las excepciones.

Log4net, por otro lado, es para registrar eventos ( incluidos errores causados ​​por excepciones) que sabía que podrían suceder (de lo contrario, no tendría un bloque try / catch).

Por lo tanto, debe usar ambos, no uno o el otro.

Para responder a su pregunta específica, puede hacer que log4net registre stacktrace de excepción, pero generalmente no debe registrar el seguimiento de pila para cada mensaje de depuración que inicie sesión. Las variables del servidor de registro y otras cosas específicas de la web también son posibles, pero requerirán algunas codificaciones personalizadas que no querrás hacer.