Tutorial: Crear agentes de escucha de registro personalizados (Visual Basic)
Este tutorial muestra cómo crear un agente de escucha de registro personalizado y configurarlo para esperar el resultado del objeto My.Application.Log.
Introducción
Los agentes de escucha de registro deben heredar de la clase TraceListener.
Para crear el agente de escucha
En su aplicación, cree una clase denominada SimpleListener que herede de TraceListener.
Public Class SimpleListener Inherits System.Diagnostics.TraceListener <Security.Permissions.HostProtection(Synchronization:=True)> Public Overloads Overrides Sub Write(ByVal message As String) MsgBox("Write: " & message) End Sub <Security.Permissions.HostProtection(Synchronization:=True)> Public Overloads Overrides Sub WriteLine(ByVal message As String) MsgBox("WriteLine: " & message) End Sub End Class
Los métodos Write y WriteLine, requeridos por la clase base, llaman a MsgBox para mostrar su entrada.
El atributo HostProtectionAttribute se aplica a los métodos Write y WriteLine para que sus atributos coincidan con los métodos de la clase base. El atributo HostProtectionAttribute permite al host que ejecuta el código determinar que el código expone sincronización de protección del host.
Nota
El atributo HostProtectionAttribute sólo es eficaz en aplicaciones no administradas que hospedan Common Language Runtime e implementan esa protección de host, como SQL Server.
Para garantizar que My.Application.Log utiliza su agente de escucha de registro, debería utilizar un nombre seguro para el ensamblado que contiene su agente de escucha de registro.
El procedimiento siguiente proporciona algunos pasos simples para crear un ensamblado de agente de escucha de registro con nombre seguro. Para obtener más información, vea Crear y utilizar ensamblados con nombre seguro.
Para asignar un nombre seguro al ensamblado de agente de escucha de registro
Tenga seleccionado un proyecto en el Explorador de soluciones. En el menú Proyecto, elija Propiedades. Para obtener más información, vea Introducción al Diseñador de proyectos.
Haga clic en la ficha Firma.
Active la casilla Firmar el ensamblado.
Seleccione <Nuevo> en la lista desplegable Elija un archivo de clave de nombre seguro.
Aparecerá el cuadro de diálogo Crear clave de nombre seguro.
Proporcione un nombre para el archivo de clave en el cuadro Nombre del archivo de clave.
Escriba una contraseña en los cuadros Escribir contraseña y Confirmar contraseña.
Haga clic en Aceptar.
Vuelva a generar la aplicación.
Agregar el agente de escucha
Ahora que el ensamblado tiene un nombre seguro, es necesario determinar el nombre seguro del agente de escucha para que My.Application.Log utilice su agente de escucha de registro.
El formato de un tipo con nombre seguro es como sigue.
<nombre de tipo>, <nombre de ensamblado>, <número de versión>, <referencia cultural>, <nombre seguro>
Para determinar el nombre seguro del agente de escucha
El código siguiente muestra cómo determinar el nombre seguro del tipo de SimpleListener.
Public Sub DisplaySimpleListenerStrongName() Dim t As Type = GetType(SimpleListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End Sub
El nombre seguro del tipo depende de su proyecto.
Con el nombre seguro, puede agregar el agente de escucha a la colección del agente de escucha de registro de My.Application.Log.
Para agregar el agente de escucha a My.Application.Log
Haga clic con el botón secundario del mouse en app.config en el Explorador de soluciones y elija Abrir.
O bien
Si hay un archivo app.config:
En el menú Proyecto, elija Agregar nuevo elemento.
En el cuadro de diálogo Agregar nuevo elemento, elija Archivo de configuración de aplicaciones.
Haga clic en Agregar.
Busque la sección <listeners>, dentro de la sección <source> que tiene el atributo name "DefaultSource", situado en la sección <sources>. La sección <sources> se encuentra en la sección <system.diagnostics>, en la sección de nivel superior <configuration>.
Agregue este elemento a la sección <listeners>:
<add name="SimpleLog" />
Busque la sección <sharedListeners> dentro de la sección <system.diagnostics>, situada en la sección <configuration> de nivel superior.
Agregue este elemento a esa sección <sharedListeners>:
<add name="SimpleLog" type="SimpleLogStrongName" />
Cambie el valor de SimpleLogStrongName para que sea el nombre seguro del agente de escucha.
Vea también
Tareas
Cómo: Registrar excepciones en Visual Basic
Cómo: Escribir mensajes de registro (Visual Basic)
Tutorial: Cambiar el lugar en el que My.Application.Log escribe la información (Visual Basic)
Referencia
Microsoft.VisualBasic.Logging.Log