Erstellen eines benutzerdefinierten Protokollanbieters

Gilt für:SQL Server SSIS Integration Runtime in Azure Data Factory

Die Integration Services-Laufzeitumgebung verfügt über umfangreiche Protokollierungsmöglichkeiten. In einem Protokoll können Sie Ereignisse aufzeichnen, die während der Paketausführung auftreten. Integration Services beinhaltet eine Palette von Protokollanbietern, über die Protokolle erstellt und in verschiedenen Formaten wie XML, in Textform, in Datenbanken oder im Windows-Ereignisprotokoll gespeichert werden können. Wenn einer dieser Anbieter oder eines der Ausgabeformate nicht Ihren Bedürfnissen entspricht, können Sie einen benutzerdefinierten Protokollanbieter erstellen.

Die Schritte zum Erstellen eines benutzerdefinierten Protokollanbieters ähneln denen zum Erstellen jedes anderen benutzerdefinierten Objekts für Integration Services:

  • Erstellen Sie eine neue Klasse, die von der Basisklasse erbt. Bei einem Protokollanbieter ist die Basisklasse LogProviderBase.

  • Weisen Sie das Attribut zu, das den Typ des Objekts für die Klasse identifiziert. Bei einem Protokollanbieter ist das Attribut DtsLogProviderAttribute.

  • Überschreiben Sie die Implementierung der Methoden und Eigenschaften der Basisklasse. Bei einem Protokollanbieter gehören dazu die ConfigString-Eigenschaft und die Methoden OpenLog, Log und CloseLog.

  • Individuelle Benutzeroberflächen für benutzerdefinierte Protokollanbieter sind nicht in SQL Server Integration Services implementiert.

Erste Schritte mit einem benutzerdefinierten Protokollanbieter

Erstellen von Projekten und Klassen

Da alle verwalteten Protokollanbieter von der LogProviderBase-Basisklasse abgeleitet sind, besteht der erste Schritt beim Erstellen eines benutzerdefinierten Protokollanbieters darin, in Ihrer bevorzugten verwalteten Programmiersprache ein Klassenbibliotheksprojekt anzulegen und dann eine Klasse zu generieren, die von der Basisklasse erbt. In dieser abgeleiteten Klasse überschreiben Sie die Methoden und Eigenschaften der Basisklasse, um die benutzerdefinierten Funktionen zu implementieren.

Konfigurieren Sie das Projekt für das Signieren der Assembly, die mit einer Schlüsseldatei mit starkem Namen erzeugt wird.

Hinweis

Viele Integration Services-Protokollanbieter verfügen über eine benutzerdefinierte Benutzeroberfläche, die IDtsLogProviderUI implementiert und das Textfeld Konfiguration im Dialogfeld SSIS-Protokolle konfigurieren durch eine gefilterte Dropdownliste der verfügbaren Verbindungs-Manager ersetzt. Individuelle Benutzeroberflächen für benutzerdefinierte Protokollanbieter werden in Integration Services jedoch nicht implementiert.

Zuweisen des 'DtsLogProvider'-Attributs

Weisen Sie das DtsLogProviderAttribute-Attribut der Klasse zu, die Sie erstellt haben, um sie als Protokollanbieter zu kennzeichnen. Dieses Attribut stellt Entwurfszeitinformationen bereit, z. B. Name und Beschreibung des Protokollanbieters. Die Eigenschaften DisplayName und Description des Attributs entsprechen den Spalten Name und Beschreibung, die im SSIS-Protokolle konfigurieren-Editor angezeigt werden, der beim Konfigurieren von Protokollen für ein Paket in SQL Server Data Tools (SSDT) angezeigt wird.

Wichtig

Die LogProviderType-Eigenschaft des Attributs wird nicht verwendet. Sie müssen jedoch einen Wert dafür eingeben, damit der benutzerdefinierte Protokollanbieter in der Liste der verfügbaren Protokollanbieter mit angezeigt wird.

Hinweis

Da individuelle Benutzeroberflächen für benutzerdefinierte Protokollanbieter nicht in Integration Services implementiert werden, hat das Angeben eines Werts für die UITypeName-Eigenschaft von DtsLogProviderAttribute keinerlei Auswirkungen.

<DtsLogProvider(DisplayName:="MyLogProvider", Description:="A simple log provider.", LogProviderType:="Custom")> _  
Public Class MyLogProvider  
     Inherits LogProviderBase  
    ' TODO: Override the base class methods.  
End Class  
[DtsLogProvider(DisplayName="MyLogProvider", Description="A simple log provider.", LogProviderType="Custom")]  
public class MyLogProvider : LogProviderBase  
{  
    // TODO: Override the base class methods.  
}  

Erstellen, Bereitstellen und Debuggen eines benutzerdefinierten Protokollanbieters

Die Schritte zum Erstellen, Bereitstellen und Debuggen eines benutzerdefinierten Protokollanbieters in Integration Services ähneln denen für andere Arten benutzerdefinierter Objekte stark. Weitere Informationen finden Sie unter Building, Deploying, and Debugging Custom Objects (Erstellen, Bereitstellen und Debuggen von benutzerdefinierten Objekten).

Weitere Informationen

Codieren eines benutzerdefinierten Protokollanbieters
Entwickeln einer Benutzeroberfläche für einen benutzerdefinierten Protokollanbieter