Criando um provedor de log personalizado
Aplica-se a: SQL Server SSIS Integration Runtime no Azure Data Factory
O ambiente de tempo de execução do Integration Services tem extensas capacidades de log. Um log permite capturar eventos que ocorrem durante a execução de pacotes. O Integration Services inclui vários provedores de log que permitem a criação e o armazenamento de logs em vários formatos, como XML, texto, banco de dados ou no log de eventos do Windows. Se um desses provedores ou formatos de saída não forem adequados às suas necessidades, você pode criar um provedor de log personalizado.
As etapas envolvidas na criação de um provedor de log personalizado são semelhantes às etapas de criação de qualquer outro objeto personalizado para o Integration Services:
Crie uma classe nova herdada da classe base. Para um provedor de log, a classe base é LogProviderBase.
Aplique o atributo que identifica o tipo de objeto para a classe. Para um provedor de log, o atributo é DtsLogProviderAttribute.
Substitua a implementação dos métodos e propriedades da classe base. Para um provedor de log, eles incluem a propriedade ConfigString e os métodos OpenLog, Log e CloseLog.
As interfaces do usuário personalizadas para provedores de log personalizados não são implementadas no SQL Server Integration Services.
Guia de Introdução com um provedor de log personalizado
Criando projetos e classes
Como todos os provedores de log gerenciados derivam da classe base LogProviderBase, o primeiro passo para criar um provedor de log personalizado é criar um projeto de biblioteca de classes na linguagem de programação gerenciada de sua preferência e criar uma classe herdada da classe base. Nessa classe derivada, você substituirá os métodos e propriedades da classe base para implementar sua funcionalidade personalizada.
Configure o projeto para assinar o assembly que será gerado com um arquivo de chave de nome forte.
Observação
Muitos provedores de log do Integration Services têm uma interface do usuário personalizada que implementa o IDtsLogProviderUI e substitui a caixa de texto Configuração na caixa de diálogo Configurar Logs de SSIS por uma lista suspensa filtrada com gerenciadores de conexões disponíveis. Porém, interfaces do usuário personalizadas para provedores de log personalizados não são implementadas no Integration Services.
Aplicando o atributo DtsLogProvider
Aplique o atributo DtsLogProviderAttribute à classe que você criou para identificá-lo como um provedor de log. Esse atributo fornece informações de tempo de design, como o nome e a descrição do provedor de log. As propriedades DisplayName e Description do atributo correspondem às colunas Nome e Descrição exibidas no editor Configurar Logs do SSIS, exibidas durante a configuração de registro em log para um pacote no SQL Server Data Tools (SSDT).
Importante
A propriedade LogProviderType do atributo não é usada. Porém, você deve digitar um valor para ela ou o provedor de log personalizado não aparecerá na lista de provedores de log disponíveis.
Observação
Como as interfaces do usuário personalizadas para provedores de log personalizados não são implementadas no Integration Services, especificar um valor para a propriedade UITypeName do DtsLogProviderAttribute não tem nenhum efeito.
<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.
}
Compilando, implantando e depurando um provedor de log personalizado
As etapas para compilar, implantar e depurar um provedor de log personalizado no Integration Services são muito semelhantes às etapas necessárias para outros tipos de objetos personalizados. Para obter mais informações, consulte Compilar, implantar e depurar objetos personalizados.
Consulte Também
Codificando um provedor de log personalizado
Desenvolver uma interface do usuário para um provedor de logs personalizado