建立自訂記錄提供者
適用於:SQL Server Azure Data Factory 中的 SSIS Integration Runtime
Integration Services 執行階段環境具有廣泛的記錄功能。 用於擷取封裝執行期間所發生之事件的記錄檔。 Integration Services 包括各種記錄提供者,讓您能以多種格式 (例如 XML、文字、資料庫或 Windows 事件記錄檔) 建立並儲存記錄。 如果這些提供者或輸出格式都不符合您的需求,可以建立自訂記錄提供者。
建立自訂記錄提供者涉及的步驟類似於為 Integration Services 建立任何其他自訂物件的步驟:
建立繼承自基底類別的新類別。 對於記錄提供者而言,基底類別是 LogProviderBase。
將可識別物件類型的屬性套用至類別。 對於記錄提供者而言,屬性是 DtsLogProviderAttribute。
覆寫基底類別之方法與屬性的實作。 對於記錄提供者而言,這些包括 ConfigString 屬性以及 OpenLog、Log 和 CloseLog 方法。
在 SQL Server Integration Services 中並未實作自訂記錄提供者的自訂使用者介面。
開始使用自訂記錄提供者
建立專案和類別
因為所有的 Managed 記錄提供者都是從 LogProviderBase 基底類別衍生,所以在建立自訂記錄提供者時的第一個步驟是以慣用的 Managed 程式語言建立類別庫專案,然後建立繼承自基底類別的類別。 在此衍生的類別中,您將覆寫基底類別的方法與屬性,以實作自訂功能。
設定專案以使用強式名稱金鑰檔案來簽署將產生的組件。
注意
許多 Integration Services 記錄提供者都有自訂使用者介面,以實作 IDtsLogProviderUI,以及使用可用連線管理員的篩選下拉式清單,取代 [設定 SSIS 記錄] 對話方塊中的 [設定] 文字方塊。 不過,在 Integration Services 中並未實作自訂記錄提供者的自訂使用者介面。
套用 DtsLogProvider 屬性
將 DtsLogProviderAttribute 屬性套用至您已建立的類別,以便將它識別為記錄提供者。 此屬性會提供記錄提供者的名稱和描述等設計階段資訊。 屬性 (Attribute) 的 DisplayName 和 Description 屬性 (Property) 會對應至顯示在 [設定 SSIS 記錄] 編輯器中的 [名稱] 和 [描述] 資料行,此編輯器會在為 SQL Server Data Tools (SSDT) 中的套件設定記錄時顯示。
重要
未使用屬性 (Attribute) 的 LogProviderType 屬性 (Property)。 不過,您必須為它輸入值,否則自訂記錄提供者將不會顯示在可用記錄提供者的清單中。
注意
既然在 Integration Services 中未實作自訂記錄提供者的自訂使用者介面,為 DtsLogProviderAttribute 的 UITypeName 屬性指定一值就沒有作用。
<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 中建置、部署和偵錯自訂記錄提供者的步驟,非常類似於其他類型自訂物件所需的步驟。 如需詳細資訊,請參閱建立、部署和偵錯自訂物件。