2009-11-02 23 views
24

Estoy buscando un marco de registro y parece log4net es o fue muy popular. El último lanzamiento fue hace más de 2 años. No se ha actualizado para .net 3.0 o 3.5 o incluso visual studio 2008. ¿Hay algo más reciente (aparte de entlib) que debería considerar?¿Log4net está muerto?

+13

hace algo como un registro la biblioteca necesita una actualización constante? Lo he usado y funciona bastante bien. – Min

+5

EntLib es * NO * algo que deberías considerar. Use log4net –

+0

¿Cuál es su razonamiento para 'no' usar EntLib? ¿No es el código de 'mejores prácticas' de EntLib? – Chris

Respuesta

12

Log4j (que fue la base de log4net) no se ha actualizado en años. Hay otras alternativas del mismo autor (slf4j y logback) y otras, pero log4j todavía se usa mucho y es muy viable. No está muerto, simplemente llegó al punto en que no había nada más que realmente se necesitara. Nada que justificara el trabajo o no rompería la compatibilidad. Cuando eso sucede en un proyecto comercial, la empresa tiene que inventar un propósito completamente diferente para el producto o hacer otra cosa y el producto realmente muere. En código abierto, no realmente.

Como punto de comparación, JUnit no iba a ninguna parte durante años. Entonces Java obtuvo anotaciones, JUnit obtuvo la competencia (TestNG) y de repente se está moviendo de nuevo. Ahora los desarrolladores originales pueden no estar en todos los casos, pero entonces el proyecto se bifurcará o se adaptará. Por ejemplo, TestNG permitió una ruta de migración sin problemas desde JUnit.

Así que la conclusión es que si es popular y se usa, no va a morir en ti.

11

log4net es un puerto de algo escrito originalmente en java. El puerto es más o menos completo.

Además, el puerto se centró en .Net 2.0 runtime y .Net 3.0 y .Net 3.5 también se construyen sobre el mismo tiempo de ejecución. Por lo tanto, puede cargar log4net en Visual Studio 2008 y usarlo en un proyecto .Net 3.5 si lo desea. Entonces, según tengo entendido, no es realmente necesario crear una nueva versión específicamente para .Net 3.5 o Visual Studio 2008 en este momento. Visual Studio 2010 por supuesto puede cambiar eso (nuevo tiempo de ejecución).

+1

Joel Estoy de acuerdo contigo en teoría. Estable y tiene las características pero en estancamiento de software = muerte. No quiero invertir el tiempo si ese es el caso. – Chip

+0

Bueno, vs2010 beta 2 está disponible ahora e incluye una licencia de puesta en marcha.Así que podría valer la pena comprobar si hay algún movimiento hacia un lanzamiento _eventual_ para .Net 4. –

+3

No creo que esté muerto, ya que estamos bastante satisfechos de iniciar sesión mediante UDP en un (ganar) syslogd con él. Se podría decir que es (casi) una característica completa que podría ser una explicación de los lanzamientos recientes "perdidos". – andyp

4

Me voy con su muerto.

Para mí insecto como esto (https://issues.apache.org/jira/browse/LOG4NET-132) que se sientan alrededor de los años significa un proyecto está muerto

Uso Nlog lugar

http://nlog-project.org/

+0

Un poco más tarde que la pregunta, pero estoy de acuerdo. NLog es un sistema de registro bien mantenido, y ahora que NHibernate ha eliminado la dependencia de log4net, no hay ninguna razón para no usarlo. – Dann

+0

Como actualización terminé usando NLog para el proyecto. ¡¡Funciona genial!! – Chip