使用Azure Web作业配置应用程序洞察

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Azure Web作业配置应用程序洞察相关的知识,希望对你有一定的参考价值。

我正在尝试为我的webjob配置Application Insights(Microsoft.Azure.Webjobs(v:2.3)

if (!string.IsNullOrEmpty(instrumentationKey))

    // Wire up with default filters; Filtering will be explained later.
    config.LoggerFactory = new LoggerFactory()
                .AddApplicationInsights(instrumentationKey, null)
                .AddConsole();

    config.Tracing.ConsoleLevel = TraceLevel.Off;

loggerFactory不可用。

我已经安装了以下这些包。

<package id="Microsoft.ApplicationInsights" version="2.4.0" targetFramework="net471" />
<package id="Microsoft.ApplicationInsights.Agent.Intercept" version="2.4.0" targetFramework="net471" />
<package id="Microsoft.ApplicationInsights.DependencyCollector" version="2.4.1" targetFramework="net471" />
<package id="Microsoft.ApplicationInsights.PerfCounterCollector" version="2.4.1" targetFramework="net471" />
<package id="Microsoft.ApplicationInsights.WindowsServer" version="2.4.1" targetFramework="net471" />
<package id="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" version="2.4.0" targetFramework="net471" />
<package id="Microsoft.Azure.WebJobs.Logging" version="3.0.6" targetFramework="net471" />
<package id="Microsoft.Azure.WebJobs.Logging.ApplicationInsights" version="2.3.0" targetFramework="net471" />

谢谢!

答案

您已安装以下NuGet包:

  • Microsoft.Azure.WebJobs.Logging.ApplicationInsights
  • Microsoft.Extensions.Logging
  • Microsoft.Extensions.Logging.Console

看看here

另一答案

似乎JobHostConfiguration缺少var config = new JobHostConfiguration();

否则,您可以像下面的代码段一样进行配置

var builder = new HostBuilder().ConfigureLogging((context, b) =>

    b.AddConsole();

    // If the key exists in settings, use it to enable Application Insights.
    var instrumentationKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
    if (!string.IsNullOrEmpty(instrumentationKey))
    
        b.AddApplicationInsights(o => o.InstrumentationKey = instrumentationKey);
    
)

以上是关于使用Azure Web作业配置应用程序洞察的主要内容,如果未能解决你的问题,请参考以下文章

如何在Azure Web作业中的调用范围绑定中配置Ninject?

Azure WebJobs - 如何为应用程序洞察禁用自适应采样?

可配置的计时器触发器 - Azure Web 作业

如何通过代码从 Azure 应用程序洞察中获取事务日志?

Azure Web 作业单例功能已锁定

来自两个 azure 应用程序服务的日志不会同时转储到单个应用程序洞察力中