ASP.NET Core + Dapper + EF Core + Application Insights: logando automaticamente comandos SQL

Renato Groffe
Azure na Pratica
Published in
2 min readOct 14, 2020

Já abordei em um artigo anterior deste blog o logging com o Azure Application Insights de comandos SQL gerados por soluções como Entity Framework Core, Dapper e FluentNHibernate:

ASP.NET Core + Application Insights: monitorando o uso de Dapper, Entity Framework e NHibernate

Há pouco tempo o package que possibilita a integração do Application Insights com o ASP.NET Core (Microsoft.ApplicationInsights.AspNetCore) passou por algumas mudanças. Além de uma chamada a AddApplicationInsightsTelemetry em ConfigureServices na classe Startup, será também necessário agora acionar o método ConfigureTelemetryModule e configurar o valor da propriedade EnableSqlCommandTextInstrumentation como true a fim de habilitar o log automático de comandos SQL:

A próxima listagem traz um exemplo de acesso a uma base do SQL Server via Dapper (método GetAll):

Na imagem a seguir temos o log correspondente ao acesso à base de dados, como o comando SQL destacado em vermelho (o ajuste na classe Startup possibilitou o registro automático desta operação):

O código-fonte desta primeira aplicação já se encontra no GitHub. Para acessá-lo clique neste link.

Já na próxima listagem está um exemplo de classe que utiliza o Entity Framework Core (com um método também chamado GetAll). Trata-se de uma segunda aplicação que passou pelo mesmo tipo de ajuste detalhado para o primeiro projeto:

O log gerado automaticamente para esta ação (em vermelho) pode ser observado na imagem seguinte:

Para acessar o código-fonte deste segundo projeto clique neste link.

--

--

Renato Groffe
Azure na Pratica

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker