사용자 지정 로그 공급자 만들기
적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime
Integration Services 런타임 환경에는 광범위한 로깅 기능이 있습니다. 로그를 사용하면 패키지를 실행하는 동안 발생하는 이벤트를 캡처할 수 있습니다. Integration Services에는 XML, 텍스트, 데이터베이스 또는 Windows 이벤트 로그와 같은 여러 형식으로 로그를 만들고 저장할 수 있는 다양한 로그 공급자가 포함되어 있습니다. 이러한 공급자 또는 출력 형식 중 하나가 요구 사항에 맞지 않는 경우 사용자 지정 로그 공급자를 만들 수 있습니다.
사용자 지정 로그 공급자를 만드는 단계는 Integration Services에 대한 다른 사용자 지정 개체를 만드는 단계와 유사합니다.
기본 클래스에서 상속되는 새 클래스를 만듭니다. 로그 공급자의 경우 기본 클래스는 .입니다 LogProviderBase.
개체 유형을 식별하는 특성을 클래스에 적용합니다. 로그 공급자의 경우 특성은 .입니다 DtsLogProviderAttribute.
기본 클래스의 메서드 및 속성 구현을 재정의합니다. 로그 공급자의 경우 속성 및 , Log및 CloseLog 메서드가 OpenLog포함 ConfigString 됩니다.
사용자 지정 로그 공급자에 대한 사용자 지정 사용자 인터페이스는 SQL Server Integration Services에서 구현되지 않습니다.
사용자 지정 로그 공급자 시작
프로젝트 및 클래스 만들기
관리되는 로그 공급자는 모두 LogProviderBase 기본 클래스에서 파생되므로 사용자 지정 로그 공급자를 만들려면 먼저 관리되는 프로그래밍 언어로 클래스 라이브러리 프로젝트를 만든 다음 기본 클래스에서 상속되는 클래스를 만들어야 합니다. 이 파생 클래스에서 기본 클래스의 메서드 및 속성을 재정의하여 사용자 지정 기능을 구현합니다.
강력한 이름 키 파일로 생성될 어셈블리에 서명하도록 프로젝트를 구성합니다.
참고 항목
많은 Integration Services 로그 공급자에는 SSIS 로그 구성 대화 상자의 구성 텍스트 상자를 구현 IDtsLogProviderUI 하고 사용 가능한 연결 관리자의 필터링된 드롭다운 목록으로 바꾸는 사용자 지정 사용자 인터페이스가 있습니다. 그러나 사용자 지정 로그 공급자에 대한 사용자 지정 사용자 인터페이스는 Integration Services에서 구현되지 않습니다.
DtsLogProvider 특성 적용
DtsLogProviderAttribute 만든 클래스에 특성을 적용하여 로그 공급자로 식별합니다. 이 특성은 로그 공급자의 이름 및 설명과 같은 디자인 타임 정보를 제공합니다. 특성의 DisplayName 및 Description 속성은 SSDT(SQL Server Data Tools)에서 패키지에 대한 로깅을 구성할 때 표시되는 SSIS 로그 구성 편집기에서 표시되는 이름 및 설명 열에 해당합니다.
Important
LogProviderType 특성의 속성은 사용되지 않습니다. 그러나 값을 입력해야 합니다. 그렇지 않으면 사용자 지정 로그 공급자가 사용 가능한 로그 공급자 목록에 표시되지 않습니다.
참고 항목
사용자 지정 로그 공급자에 대한 사용자 지정 사용자 인터페이스는 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에서 사용자 지정 로그 공급자를 빌드, 배포 및 디버깅하는 단계는 다른 유형의 사용자 지정 개체에 필요한 단계와 매우 유사합니다. 자세한 내용은 사용자 지정 개체 빌드, 배포 및 디버깅을 참조 하세요.