ASP.NET Core + Dapper + EF Core + Application Insights: logando automaticamente comandos SQL
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.