Log4net es la versión .net de Apache log4j. Es un conjunto de motores de registro de configuración XML. Recientemente, surgió un programa que requería un sistema de registro. Para facilitar la integración, decidí estudiarlo. Gracias a Hao Wei por la recomendación.
El sistema log4net está dividido en 7 niveles de registro. Si se configura en "WARN", DEBUG e INFO no se registrarán. De la siguiente manera:
1. TODOS
2. DEPURACIÓN
3. INFORMACIÓN
4. ADVERTENCIA
5. ERROR
6. GRAVE
7. APAGADO
Creación de la aplicación de muestra
Paso 1: descargue log4net
y vaya a logging.apache.org/log4net para obtener la última versión. En el ejemplo que utilicé incubating-log4net-1.2.9-beta.zip, espero con ansias la versión oficial.
Paso 2: cree una aplicación web ASP.NET.
No entraré en detalles sobre cómo crearla, como se muestra en log4net-1.2.0-beta8binnet. Busque el dll correspondiente y agréguelo a la referencia. Algunas versiones no tienen una DLL compilada, así que compílela usted mismo y use la versión .NET V1.0 para convertirla a 1.1 o 2.0. Creo que esto no es un error de trabajo, sino intencional. Muchas personas que están acostumbradas a jugar Java son así.
Configuración de la aplicación de muestra
Paso 3: Agregar información del ensamblaje
Abra el archivo AssemblyInfo.cs y agregue:
[ensamblaje: log4net.Config.DOMConfigurator()]
Esta oración significa que el sistema log4net buscará automáticamente el archivo de configuración Web.config para obtener y cargar la información de configuración. Si desea que log4net supervise el archivo de configuración en cualquier momento para recargarlo, será un poco más problemático. Debe escribir así:
[assembly:log4net.Config.DOMConfigurator(ConfigFile="filename",ConfigFileExtension="log4net",Watch=true)]
Paso 4: Para agregar información de configuración
, debe editar el archivo Web.config. Realmente me sorprende cada vez. Lo veo. Busque la etiqueta de configuración y escriba configSections inmediatamente debajo (sin considerar a los demás en absoluto, ¿qué pasa si alguien es tan dominante como él? ¡Entonces simplemente escriba su archivo de configuración de registro! Supongo que APACHE es así). Eche un vistazo a un ejemplo:
<?xml versión="1.0" codificación="utf-8" ?>
<configuración>
<configSections>
<sección nombre="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.0"
/>
</configSections >
<!-- Esta sección contiene los ajustes de configuración de log4net -->
<log4net>
<!-- Definir algunos añadidos de salida -->
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type=" log4net.Layout.PatternLayout">
<param name=
"ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}>
/layout>
</appender>
<!-- RollingFileAppender se encarga de transferir archivos por tamaño o fecha -->
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value= "C:\log\RollingLogHelloWorld.log" />
<param nombre="AppendToFile" valor="true" />
<param nombre="MaxSizeRollBackups" valor="10" />
<param nombre="MaximumFileSize" valor ="1000" />
<param nombre="RollingStyle" valor="Tamaño" />
<param nombre="StaticLogFileName" valor="true" />
<diseño tipo="log4net.Layout.PatternLayout">
<param nombre= "ConversionPattern" value="%d [%t] %-5p %-45c [%x] - %m%n" />
</layout>
</appender>
<!-- FileAppender se agrega a un registro y se administrado manualmente o tamaño -->
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="LogHelloWorld.log" />
<!-- Ejemplo de uso de variables de entorno en parámetros -->
<!-- <param name="File" value="${TMP}\ApplicationKit.log" /> -->
<param name="AppendToFile" value="true" />
<tipo de diseño= "log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
< !-- Configure la categoría raíz, agregue los apéndices y establezca el nivel predeterminado -->
<root>
<level value="INFO" />
<appender-ref ref="ConsoleAppender" />
</root>
<!-- Categoría ApplicationKit: la interfaz de usuario de presentación -->
<logger name="WebForm1">
<level value="INFO" />
<appender-ref ref="FileAppender" />
</logger>
</log4net>
</configuration>
Tenga en cuenta que el atributo NAME del nodo Logger está configurado en WebForm1, que hace referencia al nombre de la clase. Agregue dicho nodo a cada clase que necesite agregar LOG. Pienso en el flujo de trabajo de OSWORKFLOW. La flexibilidad, la conveniencia y la practicidad a menudo no se pueden lograr al mismo tiempo. El nivel aquí es INFO, es decir, cualquier valor por debajo de INFO no se registrará.
Ejecutar la aplicación de muestra
Paso 5: para agregar una clase de registro,
primero agregue una referencia
usando log4net.Config; // Luego cree una instancia, si estudia el archivo de configuración detenidamente, este método de declaración es fácil de entender: privado estático de solo lectura ILog log = LogManager. .GetLogger("WebForm1");
Paso 6: Usar el objeto Log
. Ahora, todo el trabajo de configuración se ha completado. El siguiente paso es probarlo y conectarlo a la capa de aplicación. Simplemente agregue un botón en el controlador de eventos Button1_Click del evento de respuesta.
log.Info("Hola mundo, soy un registrador");
Paso 7: Ejecute la aplicación
Ahora se puede ejecutar. Debería verse así:
Cada vez que haga clic en el botón,2006-02-13 10:12:30,671 [1228] INFO WebForm1 [] - Hola
aparecerá en el archivo de fecha. .
Mundo, soy un registrador es un récord.
Resumen:
es simple y fácil de usar. Estudiemos el registro SQL después de un tiempo, jaja.
Para obtener más información, consulte http://logging.apache.org/log4net/