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:
IAuditService for overvågningslogge
ILogging for diagnosticeringslogge
TraceListener for sporingslogge
![]() |
---|
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.
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 |
---|---|---|
|
|
|
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:
Opret Indstillinger for overvågning og diagnosticering-poster, og knyt den relevante Tilknyttet kontrolelement for lytter-post til dem.Flere oplysninger:TechNet: Konfigurere overvågning og diagnosticering i Unified Service Desk
Brug .zip-filen til at oprette en Tilpasningsfiler-post, og knyt den derefter til den relevante Konfiguration-post, så assemblyen kan distribueres til klientcomputerne, når de logger på Dynamics 365-serveren fra Unified Service Desk-klienten.Flere oplysninger:TechNet: Distribuere brugerdefinerede tilknyttede kontrolelementer ved hjælp af tilpasningsfiler
Se også
Unified Service Desk 2.0
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret