Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
IAuditService para auditar registros
ILogging para registros de diagnóstico
TraceListener para registros de seguimiento
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.
Cree los registros de Configuración de auditoría y diagnóstico y adjunte el registro adecuado de control hospedado de escucha. Más información: Configurar auditorías y diagnósticos en Unified Service Desk
Use el archivo .zip para crear un registro de archivos de personalización y, a continuación, adjúntelo al registro de configuración adecuado para que el ensamblado se pueda distribuir a los equipos cliente cuando inicien sesión en Dynamics 365 mediante el cliente de Unified Service Desk. Más información: Distribución de controles hospedados personalizados mediante archivos de personalización