Share via


カスタム ログ プロバイダーの作成

Integration Services ランタイム環境には広範なログ記録機能があります。ログを使用すると、パッケージの実行中に発生するイベントをキャプチャできます。Integration Services では、さまざまなログ プロバイダーを使用でき、ログを作成して XML、テキスト、データベースなどの形式で保存したり、Windows イベント ログに格納できます。これらのログ プロバイダーまたは出力形式の中に要件を満たすものがない場合は、カスタム ログ プロバイダーを作成できます。

カスタム ログ プロバイダーの作成手順は、Integration Services の他のカスタム オブジェクトの作成手順と同様です。

  • 基本クラスを継承する新しいクラスを作成します。ログ プロバイダー用の基本クラスは LogProviderBase です。

  • クラスに、オブジェクトの種類を識別する属性を適用します。ログ プロバイダー用の属性は DtsLogProviderAttribute です。

  • 基本クラスのメソッドとプロパティの実装をオーバーライドします。ログ プロバイダーでは、ConfigString プロパティ、OpenLog メソッド、Log メソッド、および CloseLog メソッドが対象です。

  • カスタム ログ プロバイダーのカスタム ユーザー インターフェイスは、SQL Server Integration Services では実装されていません。

カスタム ログ プロバイダーの実際のサンプルについては、Codeplex にある Integration Services のサンプルを参照してください。

カスタム ログ プロバイダーの概要

プロジェクトおよびクラスの作成

すべてのマネージ ログ プロバイダーは LogProviderBase 基本クラスから派生するため、カスタム ログ プロバイダーを作成するには、最初に任意のマネージ プログラミング言語でクラス ライブラリ プロジェクトを作成し、基本クラスを継承するクラスを作成します。この派生クラスで、基本クラスのメソッドとプロパティをオーバーライドして、カスタム機能を実装します。

プロジェクトを構成し、生成するアセンブリを厳密な名前のキー ファイルで署名します。

注意

多くの Integration Services ログ プロバイダーには、カスタム ユーザー インターフェイスがあります。カスタム ユーザー インターフェイスには IDtsLogProviderUI が実装され、[SSIS ログの構成] ダイアログ ボックスの [構成] ボックスが、使用可能な接続マネージャーがフィルター選択されたドロップダウン リストに置き換えられます。ただし、カスタム ログ プロバイダーのカスタム ユーザー インターフェイスは、Integration Services では実装されていません。

DtsLogProvider 属性の適用

作成したクラスに DtsLogProviderAttribute 属性を適用して、そのクラスがログ プロバイダーとして識別されるようにします。この属性には、ログ プロバイダーの名前や説明など、デザイン時の情報を指定します。この属性の DisplayName プロパティと Description プロパティは、Business Intelligence Development Studio でパッケージのログ記録を構成するときに、[SSIS ログの構成] エディターに表示される [名前] 列と [説明] 列に対応します。

重要な注意事項重要

この属性の LogProviderType プロパティは使用されません。ただし、このプロパティには値を入力する必要があります。そうしないと、使用可能なログ プロバイダーの一覧にカスタム ログ プロバイダーが表示されません。

注意

Integration Services では、カスタム ログ プロバイダーのカスタム ユーザー インターフェイスは実装されていません。そのため、DtsLogProviderAttributeUITypeName プロパティに値を指定しても、影響がありません。

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

カスタム ログ プロバイダーの作成、配置、およびデバッグ

Integration Services でカスタム ログ プロバイダーを作成、配置、およびデバッグする手順は、その他の種類のカスタム オブジェクトで必要な手順とほとんど同様です。詳細については、「カスタム オブジェクトのビルド、配置、およびデバッグ」を参照してください。

Integration Services のアイコン (小) 最新の Integration Services の入手

マイクロソフトが提供する最新のダウンロード、アーティクル、サンプル、ビデオ、およびコミュニティで選択されたソリューションについては、MSDN または TechNet の Integration Services のページを参照してください。

これらの更新が自動で通知されるようにするには、ページの RSS フィードを定期受信します。