无法从 Azure IoT Edge 模块登录到应用程序见解
Cannot log into application insights from Azure IoT Edge module
我有一个带有一个 IotEdgeModule (C#) 的示例 AzureIotEdgeApp。在那个文件中,我有一个文件 (program.cs),我正在将一些日志记录信息写入应用程序洞察。但它从不写。我还有一个 launchSettings.json,其中有一个环境变量 APPINSIGHTS_INSTRUMENTATIONKEY。
我在网络核心示例控制台应用程序(2.2 和 3.1)中使用了相同的代码,它工作正常。
我错过了什么?
static void Main(string[] args)
{
var serviceCollection = new ServiceCollection();
ConfigureServices(serviceCollection);
var serviceProvider = serviceCollection.BuildServiceProvider();
var logger = serviceProvider.GetService<ILogger<Program>>();
for (var i=1; i<=2; i++)
{
logger.LogInformation("Testing an information message");
logger.LogError("Testing an error message");
}
Console.ReadKey();
}
private static void ConfigureServices(IServiceCollection services)
{
Log.Logger = new LoggerConfiguration() // Serilog
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.ApplicationInsights(TelemetryConfiguration.Active, TelemetryConverter.Traces)
.CreateLogger();
services.AddLogging(configure => configure.AddSerilog(Log.Logger)).AddScoped<TelemetryClient>();
}
我添加了以下软件包。
Microsoft.ApplicationInsights - 2.12.0
Microsoft.Extensions.DependencyInjection - 3.1.0
Serilog - 2.0
Serilog.Extensions.Logging - 3.0.1
Serilog.Sinks.ApplicationInsights - 3.0.4
应将应用程序洞察密钥添加到 deployment.json 文件中,而不是像普通网络核心控制台应用程序那样添加到 launchSettings.json 中。
我有一个带有一个 IotEdgeModule (C#) 的示例 AzureIotEdgeApp。在那个文件中,我有一个文件 (program.cs),我正在将一些日志记录信息写入应用程序洞察。但它从不写。我还有一个 launchSettings.json,其中有一个环境变量 APPINSIGHTS_INSTRUMENTATIONKEY。
我在网络核心示例控制台应用程序(2.2 和 3.1)中使用了相同的代码,它工作正常。
我错过了什么?
static void Main(string[] args)
{
var serviceCollection = new ServiceCollection();
ConfigureServices(serviceCollection);
var serviceProvider = serviceCollection.BuildServiceProvider();
var logger = serviceProvider.GetService<ILogger<Program>>();
for (var i=1; i<=2; i++)
{
logger.LogInformation("Testing an information message");
logger.LogError("Testing an error message");
}
Console.ReadKey();
}
private static void ConfigureServices(IServiceCollection services)
{
Log.Logger = new LoggerConfiguration() // Serilog
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.ApplicationInsights(TelemetryConfiguration.Active, TelemetryConverter.Traces)
.CreateLogger();
services.AddLogging(configure => configure.AddSerilog(Log.Logger)).AddScoped<TelemetryClient>();
}
我添加了以下软件包。
Microsoft.ApplicationInsights - 2.12.0 Microsoft.Extensions.DependencyInjection - 3.1.0 Serilog - 2.0 Serilog.Extensions.Logging - 3.0.1 Serilog.Sinks.ApplicationInsights - 3.0.4
应将应用程序洞察密钥添加到 deployment.json 文件中,而不是像普通网络核心控制台应用程序那样添加到 launchSettings.json 中。