Del via


Oprette brugerdefinerede lyttere til overvågning, diagnosticering og spor

 

Udgivet: november 2016

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Med en lytter kan du målrette outputtet for loggen til filer, hændelsesloggen eller andre kilder. Indtil den tidligere version af Unified Service Desk, kan du kun bruge standardlytterne til at skrive overvågnings-, diagnosticerings- og sporingslogge i Unified Service Desk.

Med Unified Service Desk 2.0 kan du konfigurere brugerdefinerede lyttere til at logge overvågning, diagnosticering og sporing af data. Angiv en brugerdefineret lytter ved hjælp af den nye type af tilknyttet kontrolelement, Tilknyttet kontrolelement for lytter, der indeholder en reference til assemblyen (.dll-fil) med din brugerdefinerede lytterkode.

Dette emne indeholder

Hvad indebærer oprettelse af brugerdefinerede lyttere?

Definere din brugerdefinerede lytter for Unified Service Desk

Forberede distribution af eksempelkode

Oprette forekomster af Tilknyttet kontrolelement for lytter for at bruge den brugerdefinerede lytterkode

Næste skridt for administratoren

Hvad indebærer oprettelse af brugerdefinerede lyttere?

Oprettelse og brug af brugerdefinerede lyttere i Unified Service Desk kræver, at udviklere og administratorer arbejder sammen. I følgende tabel beskrives hovedtrækkene i processen.

Trin

Hvem gør det?

Opgave

Se her

1

Udvikler

Skrive kode til din brugerdefinerede lyttefunktion.

Definere din brugerdefinerede lytter for Unified Service Desk

2

Udvikler

Komprimere assembly til en .zip-fil for at oprette en tilpasningsfil til Unified Service Desk.

Forberede distribution af eksempelkode

3

Udvikler/administrator

Oprette forekomster af Tilknyttet kontrolelement for lytter for at kunne bruge den brugerdefinerede lytterkode.

Oprette forekomster af Tilknyttet kontrolelement for lytter for at bruge den brugerdefinerede lytterkode

4

Administrator

Oprette forekomster af Indstillinger for overvågning og diagnose-post for at kunne konfigurere dine overvågnings-, diagnosticerings- og sporingslogoplysninger.

TechNet: Konfigurere overvågning og diagnosticering i Unified Service Desk

5

Administrator

Oprette Tilpasningsfiler og vedhæfte den .zip-fil, der blev oprettet af udvikleren i trin #2.

TechNet: Distribuere brugerdefinerede tilknyttede kontrolelementer ved hjælp af tilpasningsfiler

6

Administrator

Knytte Tilpasningsfiler-posten til den relevante forekomst af Konfiguration-objektet.

TechNet: Knytte overvågning og diagnosticering til en konfiguration

Definere din brugerdefinerede lytter for Unified Service Desk

Du kan kombinere koden til din brugerdefinerede lytter til overvågnings-, diagnosticerings- og sporingslogføring i en enkelt assembly eller forskellige assemblies. Den klasse, der indeholder lytterkoden skal være afledt af:

System_CAPS_noteBemærkning

Notér navnene på navneområder og klasser i lytterkoden. Du skal bruge navnene til at oprette forekomster af Tilknyttet kontrolelement for lytter, som refererer til din brugerdefinerede kode.

Brugerdefineret lytter til overvågningslogge

Følgende eksempelkode demonstrerer, hvordan du kan oprette en brugerdefineret lytter, som skriver overvågningsdata til USDAudit.log-filen i mappen 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); 
                }
            }
        }
    }
}

Brugerdefineret lytter til diagnosticeringslogge

Følgende eksempelkode demonstrerer, hvordan du kan oprette en brugerdefineret lytter, som skriver diagnosticeringsdata til USDDiagnostics.log-filen i mappen 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);
        }
    }
}

Brugerdefineret lytter til sporingslogge

Følgende eksempelkode demonstrerer, hvordan du kan oprette en brugerdefineret lytter, som skriver sporingsdata til USDTraces.log-filen i mappen 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);
        }
    }
}

Forberede distribution af eksempelkode

Når du har bygget din brugerdefinerede lytterkode ind i en assemblyfil (.dll), skal du i samarbejde med din administrator distribuere din kode til klientcomputerne, så de kan anvende dine brugerdefinerede lyttere. Du distribuerer dine brugerdefinerede filer ved at komprimere filerne sammen med en [Content_Types].xml-fil i en .zip-fil og levere .zip-filen til administratoren, som så skal knytte den til en Customization Files-post. Se Næste skridt for administratoren.

[Content_Types] .XML-filen indeholder MIME-typeoplysninger om de filtypenavne, der indgår i .zip-filen. Der er typisk disse filtyper: .config, .dll, .exe og .xml. Men du kan medtage alle filtyper, der understøttes i Windows, i [Content_Types].xml-filen og i zip-filen.

Her er et eksempel på en [Content_Types].xml-fil, hvor de filtyper, der typisk bruges til tilpasning af Unified Service Desk, er angivet:

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

Oprette forekomster af Tilknyttet kontrolelement for lytter for at bruge den brugerdefinerede lytterkode

Med det nye Tilknyttet kontrolelement for lytter i Unified Service Desk kan du henvise til og bruge din brugerdefinerede lytterkode til logføring af data vedr. din kode. I området Oplysninger om assembly på det nye skærmbillede med tilknyttede kontrolelementer kan du angive oplysninger om din assembly, som Tilknyttet kontrolelement for lytter skal referere til. Angiv navnet på assemblyen (.dll) i feltet Assembly-URI og <AssemblyName>.<ClassName> i feltet Assemblytype.<ClassName> skal være den klasse, der indeholder koden.

Oprette et tilknyttet kontrolelement af typen Lytter

Hvis vi for eksempel ser på eksempelkoden for brugerdefinerede lyttere tidligere i dette emne og antager, at alle eksempelkoder er kompileret i en enkelt assembly med navnet SampleCustomUSDListener.dll, skal du oprette en Tilknyttet kontrolelement for lytter-post for hver overvågning, diagnosticering og sporing med følgende værdier i felterne Assembly-URI og Assemblytype.

Overvågning

Diagnosticering

Sporing

  • Assembly-URI: SampleCustomUSDListener

  • Assemblytype: SampleCustomUSDListener.CustomUSDAuditListener

  • Assembly-URI: SampleCustomUSDListener

  • Assemblytype: SampleCustomUSDListener.CustomUSDDiagnosticListener

  • Assembly-URI: SampleCustomUSDListener

  • Assemblytype: SampleCustomUSDListener.CustomUSDTraceListener

Gem Tilknyttet kontrolelement for lytter-posterne.

Næste skridt for administratoren

Som administrator skal du nu gøre følgende to ting for at kunne bruge den brugerdefinerede lytterkode i din organisation:

Se også

Udvide Unified Service Desk

Unified Service Desk 2.0

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret