Criando um provedor de log personalizado
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 DisplayName
propriedades e Description
do atributo correspondem ao Nome e Description
às colunas exibidas no editor Configurar Logs do SSIS, que é exibido ao configurar o log de 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.
Mantenha-se atualizado com o Integration Services
Para obter os downloads, artigos, exemplos e vídeos mais recentes da Microsoft, bem como soluções selecionadas da comunidade, visite a página do Integration Services no MSDN:
Visite a página do Integration Services no MSDN
Para receber uma notificação automática dessas atualizações, assine os RSS feeds disponíveis na página.
Confira também
Codificando um provedorde log personalizado Desenvolvendo uma interface do usuário para um provedor de log personalizado