当 Application Insight 显示无结果时,这可能是由于应用程序不会产生任何活动或者日志数据没有被成功导入到 Application Insight 中引起的。为了维护正确的日志记录,需要在应用程序中添加所需的代码段。
下面是一个示例代码段,展示了如何在 ASP.NET Core MVC 应用程序中添加 Application Insight:
public class Startup
{
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
// 添加 Application Insights 服务
services.AddApplicationInsightsTelemetry(Configuration);
// 添加 MVC 服务
services.AddControllersWithViews();
// 添加 Http 请求上下文访问器
services.AddHttpContextAccessor();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
}
上述示例中,我们添加了以下代码段来启用 Application Insights:
// 添加 Application Insights 服务
services.AddApplicationInsightsTelemetry(Configuration);
确保使用正确的仪器密钥更新配置文件。这应该是:
"ApplicationInsights": {
"InstrumentationKey": "[your-instrumentation-key]"
}
在使用 Application Insight 过程中,我们还要特别关注事件发生器的默认设置,例如日志级别、TelemetryProcessor 和 TelemetryInitializer 等,并根据需要进行相应的调整。
总之,在使用 Application Insight 过程中,我们需要仔细检查每个部分是否都设置正确,并特别注意日志记录是否正常工作