사용자 지정 로그 공급자 만들기Creating a Custom Log Provider

Integration ServicesIntegration Services 런타임 환경에는 광범위한 로깅 기능이 있습니다.The Integration ServicesIntegration Services run-time environment has extensive logging capabilities. 로그를 사용하면 패키지를 실행하는 동안 발생하는 이벤트를 캡처할 수 있습니다.A log lets you capture events that occur during package execution. Integration ServicesIntegration Services에는 XML, 텍스트, 데이터베이스, Windows 이벤트 로그 등의 다양한 형식으로 로그를 만들고 저장하는 데 사용할 수 있는 다양한 로그 공급자가 포함되어 있습니다. 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. 이러한 공급자 또는 출력 형식이 요구 사항에 맞지 않을 경우에는 사용자 지정 로그 공급자를 만들 수 있습니다.If one of these providers or output formats does not fit your needs, you can create a custom log provider.

사용자 지정 로그 공급자를 만드는 단계는 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:

  • 기본 클래스에서 상속되는 새 클래스를 만듭니다.Create a new class that inherits from the base class. 로그 공급자의 경우 기본 클래스는 LogProviderBase입니다.For a log provider, the base class is LogProviderBase.

  • 개체 유형을 식별하는 특성을 클래스에 적용합니다.Apply the attribute that identifies the type of object to the class. 로그 공급자의 경우 이 특성은 DtsLogProviderAttribute입니다.For a log provider, the attribute is DtsLogProviderAttribute.

  • 기본 클래스의 메서드 및 속성 구현을 재정의합니다.Override the implementation of the base class's methods and properties. 로그 공급자의 경우 이러한 구현에는 ConfigString 속성과 OpenLog, LogCloseLog 메서드가 포함됩니다.For a log provider, these include the ConfigString property and the OpenLog, Log, and CloseLog methods.

  • 사용자 지정 로그 공급자에 대 한 사용자 지정 사용자 인터페이스에서 구현 되지 않습니다 SQL ServerSQL Server Integration ServicesIntegration Services합니다.Custom user interfaces for custom log providers are not implemented in SQL ServerSQL Server Integration ServicesIntegration Services.

사용자 지정 로그 공급자 시작Getting Started with a Custom Log Provider

프로젝트 및 클래스 만들기Creating Projects and Classes

관리되는 로그 공급자는 모두 LogProviderBase 기본 클래스에서 파생되므로 사용자 지정 로그 공급자를 만들려면 먼저 관리되는 프로그래밍 언어로 클래스 라이브러리 프로젝트를 만든 다음 기본 클래스에서 상속되는 클래스를 만들어야 합니다.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 this derived class you will override the methods and properties of the base class to implement your custom functionality.

생성할 어셈블리를 강력한 이름 키 파일을 사용하여 서명하도록 프로젝트를 구성합니다.Configure the project to sign the assembly that will be generated with a strong name key file.

참고

많은 Integration ServicesIntegration Services 로그 공급자가 구현 하는 사용자 지정 사용자 인터페이스 IDtsLogProviderUI 하 고 대체는 구성 텍스트 상자에 SSIS 로그 구성 사용 가능한 연결 관리자의 필터링 된 드롭다운 목록 사용 하 여 대화 상자.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. 그러나 사용자 지정 로그 공급자의 사용자 지정 사용자 인터페이스는 Integration ServicesIntegration Services에 구현되어 있지 않습니다.However custom user interfaces for custom log providers are not implemented in Integration ServicesIntegration Services.

DtsLogProvider 특성 적용Applying the DtsLogProvider Attribute

앞에서 만든 클래스에 DtsLogProviderAttribute 특성을 적용하여 해당 클래스를 로그 공급자로 식별합니다.Apply the DtsLogProviderAttribute attribute to the class that you have created to identify it as a log provider. 이 특성은 로그 공급자의 이름 및 설명 같은 디자인 타임 정보를 제공합니다.This attribute provides design-time information such as the name and description of the log provider. DisplayName설명 특성의 속성에 해당 하는 이름설명 에 표시 된 열은 SSIS 로그 구성 편집기에서 패키지에 대 한 로깅을 구성할 때 표시 되는 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).

중요

이 특성의 LogProviderType 속성은 사용되지 않습니다.The LogProviderType property of the attribute is not used. 그러나 이 속성을 설정하지 않으면 사용 가능한 로그 공급자 목록에 해당 사용자 지정 로그 공급자가 표시되지 않으므로 이 속성 값을 반드시 입력해야 합니다.However, you must enter a value for it, or the custom log provider will not appear in the list of available log providers.

참고

사용자 지정 로그 공급자의 사용자 지정 사용자 인터페이스는 Integration ServicesIntegration Services에 구현되어 있지 않으므로 UITypeNameDtsLogProviderAttribute 속성에 값을 지정해도 아무 영향이 없습니다.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.  
}  

사용자 지정 로그 공급자 빌드, 배포 및 디버깅Building, Deploying, and Debugging a Custom Log Provider

Integration ServicesIntegration Services에서 사용자 지정 로그 공급자의 빌드, 배포 및 디버깅 단계는 다른 형식의 사용자 지정 개체에 대해 필요한 단계와 매우 비슷합니다.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. 자세한 내용은 참조 건물, Deploying, and Debugging Custom Objects합니다.For more information, see Building, Deploying, and Debugging Custom Objects.

관련 항목:See Also

사용자 지정 로그 공급자 코딩 Coding a Custom Log Provider
사용자 지정 로그 공급자에 대 한 사용자 인터페이스 개발Developing a User Interface for a Custom Log Provider