Compartir a través de


Tutorial: Crear agentes de escucha de registro personalizados

Actualización: noviembre 2007

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 alojan 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

  1. 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.

  2. Haga clic en la ficha Firma.

  3. Active la casilla de verificación Firmar el ensamblado.

  4. Seleccione <Nuevo> en la lista desplegable Seleccione un archivo de clave de nombre seguro.

    Aparecerá el cuadro de diálogo Crear clave de nombre seguro.

  5. Proporcione un nombre para el archivo de clave en el cuadro Nombre del archivo de clave.

  6. Escriba una contraseña en los cuadros Escribir contraseña y Confirmar contraseña.

  7. Haga clic en Aceptar.

  8. 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

  1. 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:

    1. En el menú Proyecto, elija Agregar nuevo elemento.

    2. En el cuadro de diálogo Agregar nuevo elemento, elija Archivo de configuración de aplicaciones.

    3. Haga clic en Agregar.

  2. 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>.

  3. Agregue este elemento a la sección <listeners>:

    <add name="SimpleLog" />
    
  4. Busque la sección <sharedListeners> dentro de la sección <system.diagnostics>, situada en la sección <configuration> de nivel superior.

  5. 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

Tutorial: Cambiar el lugar donde My.Application.Log escribe información

Conceptos

Trabajar con registros de aplicación en Visual Basic

Referencia

My.Application.Log (Objeto)

My.Log (Objeto)