Creazione di un provider di log personalizzatoCreating a Custom Log Provider

L'ambiente di runtime di Integration ServicesIntegration Services include funzionalità estese di registrazione.The Integration ServicesIntegration Services run-time environment has extensive logging capabilities. Un log consente di acquisire gli eventi che si verificano durante l'esecuzione di pacchetti.A log lets you capture events that occur during package execution. In Integration ServicesIntegration Services è inclusa una varietà di provider di log che consentono di creare e archiviare log in più formati quali XML, testo, database o nel registro eventi di Windows. Integration ServicesIntegration Services includes a variety of log providers that enable logs to be created and stored in multiple formats, such as XML, text, database, or in the Windows event log. Se uno di questi provider o formati di output non soddisfano specifiche esigenze, è possibile creare un provider di log personalizzato.If one of these providers or output formats does not fit your needs, you can create a custom log provider.

I passaggi per la creazione di un provider di log personalizzato sono simili a quelli richiesti per la creazione di qualsiasi altro oggetto personalizzato per Integration ServicesIntegration Services:The steps involved in creating a custom log provider are similar to the steps for creating any other custom object for Integration ServicesIntegration Services:

  • Creare una nuova classe che eredita dalla classe di base.Create a new class that inherits from the base class. Per un provider di log, la classe di base è LogProviderBase.For a log provider, the base class is LogProviderBase.

  • Applicare alla classe l'attributo che identifica il tipo di oggetto.Apply the attribute that identifies the type of object to the class. Per un provider di log, l'attributo è DtsLogProviderAttribute.For a log provider, the attribute is DtsLogProviderAttribute.

  • Eseguire l'override dell'implementazione dei metodi e delle proprietà della classe di base.Override the implementation of the base class's methods and properties. Per un provider di log, questi includono la proprietà ConfigString e i metodi OpenLog, Log e CloseLog.For a log provider, these include the ConfigString property and the OpenLog, Log, and CloseLog methods.

  • Interfacce utente personalizzate per i provider di log personalizzati non sono implementate SQL ServerSQL Server Integration ServicesIntegration Services.Custom user interfaces for custom log providers are not implemented in SQL ServerSQL Server Integration ServicesIntegration Services.

Introduzione ai provider di log personalizzatiGetting Started with a Custom Log Provider

Creazione di progetti e classiCreating Projects and Classes

Poiché tutti i provider di log gestiti derivano dalla classe di base LogProviderBase, il primo passaggio da completare quando si crea un provider di log personalizzato consiste nel creare un progetto di libreria di classi nel linguaggio di programmazione gestito preferito e creare una classe che eredita dalla classe di base.Because all managed log providers derive from the LogProviderBase base class, the first step when you create a custom log provider is to create a class library project in your preferred managed programming language, and then create a class that inherits from the base class. In questa classe derivata si eseguirà l'override dei metodi e delle proprietà della classe di base per implementare la funzionalità personalizzata.In this derived class you will override the methods and properties of the base class to implement your custom functionality.

Configurare il progetto per firmare l'assembly che verrà generato utilizzando un file di chiave con nome sicuro.Configure the project to sign the assembly that will be generated with a strong name key file.

Nota

Molti Integration ServicesIntegration Services i provider di log hanno un'interfaccia utente personalizzata che implementa IDtsLogProviderUI e sostituisce il configurazione casella di testo di Configura log SSIS la finestra di dialogo con un elenco a discesa filtrato di gestioni connessioni disponibili.Many Integration ServicesIntegration Services log providers have a custom user interface that implements IDtsLogProviderUI and replaces the Configuration text box in the Configure SSIS Logs dialog box with a filtered dropdown list of available connection managers. Tuttavia, le interfacce utente personalizzate per i provider di log personalizzati non sono implementate in Integration ServicesIntegration Services.However custom user interfaces for custom log providers are not implemented in Integration ServicesIntegration Services.

Applicazione dell'attributo DtsLogProviderApplying the DtsLogProvider Attribute

Applicare l'attributo DtsLogProviderAttribute alla classe creata per identificarla come provider di log.Apply the DtsLogProviderAttribute attribute to the class that you have created to identify it as a log provider. Questo attributo fornisce informazioni in fase di progettazione, ad esempio il nome e la descrizione del provider di log.This attribute provides design-time information such as the name and description of the log provider. Il DisplayName e descrizione corrispondenti proprietà dell'attributo per il nome e descrizione le colonne visualizzate nel Configura log SSIS editor, che viene visualizzato quando si configura la registrazione per un pacchetto in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT).The DisplayName and Description properties of the attribute correspond to the Name and Description columns displayed in the Configure SSIS Logs editor, which is displayed when configuring logging for a package in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT).

Importante

La proprietà LogProviderType dell'attributo non viene utilizzata.The LogProviderType property of the attribute is not used. È tuttavia necessario immettere un valore per tale proprietà, altrimenti il provider di log personalizzato non verrà visualizzato nell'elenco di provider di log disponibili.However, you must enter a value for it, or the custom log provider will not appear in the list of available log providers.

Nota

Poiché le interfacce utente personalizzate per i provider di log personalizzati non vengono implementate in Integration ServicesIntegration Services, l'impostazione di un valore per la proprietà UITypeName di DtsLogProviderAttribute non ha alcun effetto.Since custom user interfaces for custom log providers are not implemented in Integration ServicesIntegration Services, specifying a value for the UITypeName property of the DtsLogProviderAttribute has no effect.

<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.  
}  

Compilazione, distribuzione e debug di un provider di log personalizzatoBuilding, Deploying, and Debugging a Custom Log Provider

I passaggi per la compilazione, la distribuzione e il debug di un provider di log personalizzato in Integration ServicesIntegration Services sono molto simili a quelli richiesti per altri tipi di oggetti personalizzati.The steps for building, deploying, and debugging a custom log provider in Integration ServicesIntegration Services are very similar to the steps required for other types of custom objects. Per ulteriori informazioni, vedere compilazione, distribuzione e debug di oggetti personalizzati.For more information, see Building, Deploying, and Debugging Custom Objects.

Vedere ancheSee Also

La codifica di un Provider di Log personalizzato Coding a Custom Log Provider
Sviluppo di un'interfaccia utente per un Provider di Log personalizzatoDeveloping a User Interface for a Custom Log Provider