Uso log4net todo el tiempo, pero una cosa que nunca he descubierto es cómo saber qué está sucediendo en el interior. Por ejemplo, tengo un apéndice de consola y un apéndice de base de datos en mi proyecto. Hice algunos cambios en la base de datos y el código, y ahora el apéndice de la base de datos ya no funciona. Descubriré por qué eventualmente, pero ayudaría mucho si pudiera ver lo que está sucediendo dentro de log4net.
¿Log4net genera algún tipo de salida que pueda ver para tratar de determinar el origen de mi problema?
C:\tmp\log4net.txt
aC:\log4net.txt
, luego puede generar un archivo de texto.<configSections></configSections>
sea la primera entrada debajo<configuration>
. De lo contrario, terminas con un error.traceOutputOptions="TimeStamp"
ytraceOutputOptions="DateTime"
en laadd
etiqueta, pero no cambia nada en el contenido del archivo de registro. ¿Alguien sabe cómo configurar log4net para mostrar la hora de cada línea / entrada en el archivo de registro de seguimiento?Si está utilizando un archivo de configuración de log4net, también puede activar la depuración allí cambiando el nodo superior a:
Esto funcionará una vez que la configuración se vuelva a cargar y suponiendo que su escucha de seguimiento esté configurada correctamente.
fuente
Además de la respuesta anterior, puede usar esta línea para ver el registro en tiempo real en lugar de la salida c: \ tmp \ log4net.txt.
Por ejemplo, en una aplicación de consola, puede agregar esto y luego ver la salida en tiempo real. Es bueno para depurar log4net en un pequeño arnés de prueba para ver qué sucede con el apéndice que está probando.
fuente
Asegúrese de que la aplicación raíz donde está su punto de entrada registre algo en log4net. Dale uno de estos:
Con 2.0.8, tuve una situación interesante. Creé un proyecto de biblioteca y un proyecto exe de prueba que demostraría sus capacidades. El proyecto de la biblioteca se configuró para usar Log4net como era el proyecto exe. El proyecto exe usó el atributo de información de ensamblaje para registrar la configuración, sin embargo, no estaba obteniendo resultados de registro ni en la consola ni en el archivo de registro. Cuando encendí el registro de depuración interna de log4net, recibí algunos mensajes internos escritos en la consola, pero todavía ninguno de mis registros normales. No se informaron errores. Todo comenzó a funcionar cuando agregué el código anterior a mi programa. Log4net fue configurado de otra manera correctamente.
fuente
Si el registro interno no le brinda suficiente información, es muy fácil construir y depurar el código fuente . Si no desea mezclar esto con su proyecto de desarrollo, agregue una aplicación de consola simple que solo registre un mensaje, copie su proyecto
log4net.config
en esta aplicación y depure la clase en cuestión.fuente
En log4net 2.0.8 parece que no es posible realizar el registro con log4net en una DLL separada. Si probé esto, los resultados son muy extraños: ya no se realiza ningún registro. Y la inicialización de log4net con la opción de depuración no muestra errores.
Como dijo K0D4, debe tener una referencia a log4net en su módulo principal y debe llamar una vez al inicio del Programa y todo está bien.
En la próxima versión de log4net, este error probablemente se solucionará.
fuente