Partager via


Créez des écouteurs personnalisés pour l’audit, les diagnostics et les traces

Un écouteur vous sert à cibler le résultat des journaux dans les fichiers, le journal des événements ou d’autres sources. Jusqu’à la version précédente d’Unified Service Desk, vous ne pouviez utiliser les écouteurs standard que pour écrire des journaux d’audit, de diagnostic et de suivi dans Unified Service Desk.

Avec Unified Service Desk 2.0, vous pouvez configurer des écouteurs personnalisés pour enregistrer les données d’audit, de diagnostic et de suivi. Spécifiez un écouteur personnalisé à l’aide du nouveau type de contrôle hébergé appelé Contrôle hébergé d’écouteur qui contient une référence à l’assembly (fichier.dll) contenant votre code d’écouteur personnalisé.

En quoi consiste la création d’écouteurs personnalisés ?

La création et l’utilisation d’écouteurs personnalisés dans Unified Service Desk impliquent que les développeurs et les administrateurs travaillent ensemble. Le tableau suivant décrit le processus.

Étape Qui le fait ? Tâche Voir ici
1 Développeur Écrivez du code pour votre écouteur personnalisé. Définir votre écouteur personnalisé pour Unified Service Desk
2 Développeur Compressez l’assemblage dans un fichier .zip pour créer un fichier de personnalisation pour Unified Service Desk. Préparer la distribution de votre exemple de code
3 Développeur/Administrateur Créez des instances du contrôle hébergé du récepteur pour utiliser le code d’écouteur personnalisé. Créez des instances de contrôle hébergé de l’écouteur pour utiliser votre code d’écouteur personnalisé
4 Administrateur Créez des instances de Paramètres d’audit et de diagnostic pour configurer vos informations d’audit, de diagnostic ou de journalisation des traces. Configurer l’audit et les diagnostics dans Unified Service Desk
5 Administrateur Créez des fichiers de personnalisation et joignez le fichier .zip créé par le développeur à l’étape #2. Distribuer des contrôles hébergés personnalisés à l’aide de fichiers de personnalisation
6 Administrateur Attachez l’enregistrement Fichiers de personnalisation à l’instance appropriée de l’entité Configuration . Associer l’audit et le diagnostic à une configuration

Définir votre écouteur personnalisé pour Unified Service Desk

Vous pouvez combiner le code de votre écouteur personnalisé à des fins d’audit, de diagnostic et de journalisation de suivi dans un seul assemblage ou plusieurs assemblages. La classe contenant votre code d’écoute doit être dérivée de :

Remarque

Prenez note de l’espace de noms et des noms de classe dans votre code d’écouteur. Vous en aurez besoin pour créer des instances de Listener Hosted Control afin de faire référence à votre code personnalisé.

Écouteur personnalisé pour les journaux d’audit

L’exemple de code suivant montre comment créer un écouteur personnalisé qui écrit les données d’audit dans USDAudit.log fichier dans le dossier 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);   
                }  
            }  
        }  
    }  
}  
  

Écouteur personnalisé pour les journaux de diagnostic

L’exemple de code suivant montre comment créer un écouteur personnalisé qui écrit les données de diagnostic dans le fichier USDDiagnostics.log dans le dossier 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);  
        }  
    }  
}  

Écouteur personnalisé pour les journaux de suivi

L’exemple de code suivant montre comment créer un écouteur personnalisé qui écrit les données de trace dans le fichier USDTraces.log dans le dossier 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);  
        }  
    }  
}  

Préparer la distribution de votre exemple de code

Une fois que vous avez créé votre code d’écouteur personnalisé dans un fichier d’assemblage (.dll), contactez votre administrateur pour distribuer votre code aux ordinateurs clients afin qu’ils puissent utiliser vos écouteurs personnalisés. Pour distribuer vos fichiers personnalisés, compressez les fichiers ainsi qu'un fichier [Content_Types].xml en un fichier .zip et remettez le fichier .zip à votre administrateur pour qu’il l’attache à un enregistrement Customization Files. Voir Étapes suivantes pour l’administrateur.

Le fichier.xml [Content_Types] fournit des informations de type MIME des extensions de type de fichier incluses dans le fichier .zip. En règle générale, les types de fichiers sont les suivants : .config, .dll, .exeet .xml. Toutefois, vous pouvez inclure n’importe quel type de fichier pris en charge sous Windows dans le fichier.xml [Content_Types] et dans le fichier zip.

Voici un exemple de fichier.xml [Content_Types] avec les types de fichiers répertoriés qui sont généralement utilisés pour la personnalisation d’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>  

Créez des instances de contrôle hébergé de l’écouteur pour utiliser votre code d’écouteur personnalisé

Le nouveau contrôle Listener hébergé dans Unified Service Desk vous permet de référencer et d’utiliser votre code d’écouteur personnalisé pour l'enregistrement des données selon votre code. La zone Informations sur l’assemblage du nouvel écran de contrôle hébergé vous permet de spécifier les détails de votre assemblage auxquels vous souhaitez faire référence par le contrôle hébergé du récepteur. Spécifiez le nom de votre assembly (.dll) dans le champ URI de l’assembly et <AssemblyName>.<ClassName> dans le champ Type d’assemblage . Le <ClassName> doit être la classe qui contient votre code.

Par exemple, si nous considérons l’exemple de code pour les écouteurs personnalisés plus haut dans cette rubrique et en supposant que tous les exemples de codes sont compilés dans un seul assembly appelé SampleCustomUSDListener.dll, vous devez créer un enregistrement de contrôle hébergé d’écouteur à des fins d’audit, de diagnostic et de suivi avec les valeurs suivantes dans les champs URI de l’assembly et Type d’assembly .

Vérification Diagnostique Trace
- URI d’assemblage : SampleCustomUSDListener
- Type d’assembly: SampleCustomUSDListener.CustomUSDAuditListener
- URI d’assemblage : SampleCustomUSDListener
- Type d’assemblage : SampleCustomUSDListener.CustomUSDDiagnosticListener
- URI d’assemblage : SampleCustomUSDListener
- Type d’assemblage : SampleCustomUSDListener.CustomUSDTraceListener

Enregistrez les enregistrements de contrôle hébergés par l’écouteur.

Prochaines étapes pour l’administrateur

En tant qu’administrateur, vous devez maintenant effectuer les deux opérations suivantes pour utiliser le code d’écoute personnalisé dans votre organisation :

Voir aussi

Étendre le centre de services unifié