Bloque de registro empresarial vs NLog vs log4net [cerrado]


Necesito usar una biblioteca de registro en mi proyecto y considerar entre Bloque de Registro Empresarial vs NLog vs log4net. Encontré algunos enlaces en la comparación, pero la mayoría de ellos son bastante antiguos y se quejan de cosas como que no hay nuevas versiones de log4net durante mucho tiempo, etc.

Cualquiera tiene sugerencias sobre cuál es mejor en términos de facilidad de uso, facilidad de configuración, rendimiento, escalabilidad, etc. basado en los datos actuales.

Author: imak, 2011-02-11

5 answers

Personalmente me gusta log4net. Es rápido, estable y configurable (y es muy fácil de extender con un appender personalizado o tal).

No me molesta la falta de nuevas versiones, en mi mente solo demuestra que la base de código es estable y contiene las características que debería. Después de todo, quiero que mi tala sea estable sobre todo.

Aquí hay una pregunta ligeramente similar, tal vez también pueda usar algunas de las respuestas de allí.

 10
Author: driis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:54:08

Acabo de evaluar log4net y NLog para su uso en un proyecto más grande. Ambos tienen una interfaz similar y son altamente configurables.

NLog parece estar mejor mantenido: Una incompatibilidad de log4net con .Net4 permaneció sin resolver en log4net durante bastante tiempo. Nlog viene con algunos más 'campanas y silbidos' como un paquete NuGet y un esquema Xml para Visual Studio para editar archivos de configuración.

Al final nos decidimos por log4net porque medimos un rendimiento mucho mejor para log4net: Una prueba simple, escribir 10000 mensajes de registro en un archivo y en un visor de registros de red (Log2Console) mostró un rendimiento diez veces mejor de log4net! No hicimos ninguna sintonización en el archivo de configuración, archivo y notwork logger se utilizaron con una configuración mínima. Debe verificar esto por sí mismo con una configuración de registro típica de su proyecto.

 18
Author: W.Gross,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-25 08:29:34

Puede posponer la decisión "qué registrador usar" si está utilizando Common.Logging . Este es un contenedor de registro donde puede configurar si el registro debe ir a log4net, nlog, System.Diagnostico.Depurar. No sé el bloque de Registro Empresarial y no sé si hay un complemento de "Bloque de registro Empresarial" para el registro común.

 6
Author: k3b,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-09 21:06:07

Otra diferencia que a menudo se pasa por alto es que NLog es BSD mientras que log4net está bajo licencia Apache. ELB es MS-PL (la versión de código abierto de microsoft). Eso podría no importar en la mayoría de los casos, solo decirlo.

 4
Author: nawfal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-02 07:40:12

Creo que todos ellos son bastante similares y capaces. Han pasado varios años desde que usé el bloque de Registro de la Biblioteca Empresarial, pero incluso en ese entonces era decente. NLog y log4net son sólidos.

Una razón para elegir una sobre otra puede ser la integración de bibliotecas de terceros. Si está utilizando NHibernate o Quartz u otras bibliotecas que utilizan log4net, por ejemplo, puede conducir su elección.

 2
Author: quentin-starin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-02-11 16:56:19