Compartir a través de


Creación de agentes de escucha personalizados para auditoría, diagnóstico y seguimiento

Una escucha podrá dirigir el resultado del registro a archivos, el registro de eventos u otros orígenes. Hasta la versión anterior de Unified Service Desk, solo se podían usar los agentes de escucha estándar para escribir registros de auditoría, diagnóstico y seguimiento en Unified Service Desk.

Con Unified Service Desk 2.0, puede configurar agentes de escucha personalizados para registrar datos de auditoría, diagnóstico y seguimiento. Especifique una escucha personalizada mediante el nuevo tipo de control hospedado llamado Control hospedados de escucha que contiene una referencia al ensamblados (archivo .dll) que contiene el código personalizado de escucha.

¿En qué consiste la creación de oyentes personalizados?

La creación y el uso de agentes de escucha personalizados en Unified Service Desk implica que los desarrolladores y administradores trabajen juntos. En la tabla siguiente se describe el proceso.

Paso ¿Quién lo hace? Tarea Ver aquí
1 Desarrollador Escriba código para su agente de escucha personalizado. Definición del agente de escucha personalizado para Unified Service Desk
2 Desarrollador Comprima el ensamblaje en un archivo de .zip para crear un archivo de personalización para Unified Service Desk. Preparación para la distribución del código de muestra
3 Desarrollador/Administrador Crear instancias del Control hospedado de escucha para usar el código personalizado de escucha. Crear instancias del Control hospedado de escucha para usar el código personalizado de escucha
4 Administrador Cree instancias del registro Configuración de auditoría y diagnóstico para configurar la información de auditoría, diagnóstico o registro de rastreo. Configuración de auditorías y diagnósticos en Unified Service Desk
5 Administrador Cree archivos de personalización y adjunte el archivo .zip creado por el desarrollador en el paso # 2. Distribución de controles hospedados personalizados mediante archivos de personalización
6 Administrador Adjunte el registro Archivos de personalización a la instancia adecuada de la entidad Configuración . Asociar la auditoría y el diagnóstico a una configuración

Define tu agente de escucha personalizado para Unified Service Desk

Puede combinar el código para la escucha personalizada para el registro de auditoría, diagnóstico, y seguimiento en un solo ensamblado o en diferentes ensamblados. La clase que contiene el código de escucha debe derivarse de:

Nota:

Cree una notas de los nombres de espacio de nombres y clase en el código de escucha. Necesitará estos para crear instancias de Control hospedado de escucha para hacer referencia a su código personalizado.

Escucha personalizada para registros de auditoría

En el código de ejemplo siguiente se muestra cómo crear un agente de escucha personalizado que escriba datos de auditoría en USDAudit.log archivo de la carpeta C:\USDLogs.

using Microsoft.Uii.AifServices;  
using Microsoft.Uii.Common.Entities;  
using Microsoft.Uii.Common.Logging;  
using System;  
using System.Collections.Generic;  
using System.Configuration;  
using System.IO;  
using System.Linq;  
using System.Text;  
using System.Threading.Tasks;  
  
namespace SampleCustomUSDListener  
{  
    public class CustomUSDAuditListener : IAuditService  
    {  
        public void SaveAudit(IEnumerable<Microsoft.Uii.Common.Entities.LogData> logCache)  
        {  
            LogToFile(logCache);  
        }  
  
        private void LogToFile(IEnumerable<LogData> logCache)  
        {  
            string filename = Path.GetPathRoot(Environment.SystemDirectory) + "USDLogs\\USDAudit.log";  
            foreach (var item in logCache)  
            {  
                try  
                {  
                    File.AppendAllText(filename, item.GetLogData());  
                }  
                catch (Exception ex)  
                {   
                    Logging.Error("USD",ex.StackTrace);   
                }  
            }  
        }  
    }  
}  
  

Escucha personalizada para registros de diagnóstico

En el código de ejemplo siguiente se muestra cómo crear un agente de escucha personalizado que escribe datos de diagnóstico en el archivo USDDiagnostics.log de la carpeta C:\USDLogs.

using Microsoft.Uii.Common.Logging;  
using Microsoft.Uii.Common.Entities;  
using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.IO;  
using System.Configuration;  
using System.Threading.Tasks;  
  
namespace SampleCustomUSDListener  
{  
    class CustomUSDDiagnosticListener : ILogging  
    {  
        string filename = Path.GetPathRoot(Environment.SystemDirectory) + "USDLogs\\USDDiagnostics.log";  
        public void Error(string applicationName, string message, string advanced)  
        {  
            File.AppendAllText(filename, "\nError is logged\n" + "\nApplication Name:\n" + applicationName + "\nMessage:\n" + message + "\nAdvanced:\n" + advanced);  
        }  
  
        public void Information(string applicationName, string message)  
        {  
            File.AppendAllText(filename, "\nInformation is logged\n" + "\nApplication Name:\n" + applicationName + "\nMessage:\n" + message);  
        }  
  
        public void Initialize(string name, System.Collections.Specialized.NameValueCollection configValue)  
        {  
            //Not needed  
        }  
  
        public bool ShowErrors  
        {  
            get  
            {  
                throw new NotImplementedException();  
            }  
            set  
            {  
                throw new NotImplementedException();  
            }  
        }  
  
        public string Tag  
        {  
            get  
            {  
                throw new NotImplementedException();  
            }  
            set  
            {  
                throw new NotImplementedException();  
            }  
        }  
  
        public void Trace(string applicationName, string message)  
        {  
            File.AppendAllText(filename, "\nVerbose is logged\n" + "\nApplication Name:\n" + applicationName + "\nMessage:\n" + message);  
        }  
  
        public void Warn(string applicationName, string message)  
        {  
            File.AppendAllText(filename, "\nWarning is logged\n" + "\nApplication Name:\n" + applicationName + "\nMessage:\n" + message);  
        }  
    }  
}  

Escucha personalizada para registros de seguimiento

En el código de ejemplo siguiente se muestra cómo crear un agente de escucha personalizado que escriba datos de seguimiento en el archivo USDTraces.log de la carpeta C:\USDLogs.

using System;  
using System.Diagnostics;  
using System.IO;  
  
namespace SampleCustomUSDListener  
{  
    class CustomUSDTraceListener : TraceListener  
    {  
        string filename = Path.GetPathRoot(Environment.SystemDirectory) + "USDLogs\\USDTraces.log";  
        public override void Write(string message)  
        {  
            File.AppendAllText(filename, message);  
        }  
  
        public override void WriteLine(string message)  
        {  
            File.AppendAllText(filename, message);  
        }  
    }  
}  

Preparación para la distribución del código de muestra

Una vez que haya compilado el código de escucha personalizado en un archivo de ensamblado (.dll), trabaje con el administrador para distribuir el código a los equipos cliente para que puedan consumir los agentes de escucha personalizados. Para distribuir los archivos personalizados, comprima los archivos junto con un [Content_Types].xml archivo en un archivo .zip y proporcione el archivo .zip al administrador para adjuntarlo a un Customization Files registro. Consulte Pasos siguientes para el administrador.

El archivo [Content_Types].xml proporciona información sobre el tipo MIME de las extensiones de archivo que se incluyen en el archivo .zip. Normalmente, los tipos de archivo son: .config, .dll, .exey .xml. Sin embargo, puede incluir cualquier tipo de archivo compatible con Windows en el archivo.xml [Content_Types] y en el archivo zip.

A continuación se muestra un archivo de.xml [Content_Types] con los tipos de archivo enumerados que se utilizan normalmente para personalizar Unified Service Desk:

<?xml version="1.0" encoding="utf-8"?>  
<Types xmlns="https://schemas.openxmlformats.org/package/2006/content-types">  
  <Default Extension="config" ContentType="application/octet-stream" />  
  <Default Extension="dll" ContentType="application/octet-stream" />  
  <Default Extension="exe" ContentType="application/octet-stream" />  
  <Default Extension="xml" ContentType="application/octet-stream" />  
</Types>  

Crear instancias del Control hospedado de escucha para usar el código personalizado de escucha

El nuevo control de escucha alojado en Unified Service Desk te permite referenciar y utilizar tu código de escucha personalizado para registrar datos según las especificaciones de tu código. El área Información de ensamblado en la pantalla del nuevo control hospedado le permite especificar los detalles sobre su ensamblado a los que desea que haga referencia el Control hospedado de escucha. Especifique el nombre del ensamblado (.dll) en el campo URI de ensamblado y <AssemblyName>.<ClassName> en el campo Tipo de ensamblado . <ClassName> debe ser la clase que contiene el código.

Por ejemplo, si consideramos el código de ejemplo para agentes de escucha personalizados mencionado anteriormente en este tema y suponiendo que todos los códigos de ejemplo se compilan en un único ensamblado denominado SampleCustomUSDListener.dll, debe crear un registro de control de escucha alojado por separado para auditoría, diagnóstico y rastreo con los siguientes valores en los campos URI de ensamblado y Tipo de ensamblado.

Auditoría Diagnóstico Seguimiento
- URI de ensamblado: SampleCustomUSDListener
- Tipo de ensamblado: SampleCustomUSDListener.CustomUSDAuditListener
- URI de ensamblado: SampleCustomUSDListener
- Tipo de ensamblado: SampleCustomUSDListener.CustomUSDDiagnosticListener
- URI de ensamblado: SampleCustomUSDListener
- Tipo de ensamblado: SampleCustomUSDListener.CustomUSDTraceListener

Guarde los registros de controles hospedados de escucha.

Pasos siguientes para el administrador

Como administrador, ahora debe realizar las dos siguientes acciones para usar el código de escucha personalizado en su organización.

Consulte también

Amplíe el Centro de Servicios Unificado