如何使用 Serilog 获取应用程序洞察?

问题描述 投票:0回答:1

我没有看到任何日志记录进入我的应用程序洞察实例。

我有一个带有旧版本 .net core 的 Windows 服务。

我添加了这两个库:

dotnet add package Microsoft.ApplicationInsights.AspNetCore
dotnet add package Microsoft.ApplicationInsights.WorkerService

我更新了appsettings.json:

{
  "ApplicationInsights": {
    "ConnectionString": "InstrumentationKey=<Your_Instrumentation_Key>;IngestionEndpoint=https://<Your_Region>.applicationinsights.azure.com/"
  }
}

对于

program.cs
我添加了这些行

enter image description here

我也添加了这个包

dotnet add package Serilog.Sinks.ApplicationInsights

并将其添加到

program.cs

enter image description here

我在 Azure 门户中没有看到任何日志记录进入我的应用程序洞察实例;但是,当我登录到 Windows 服务计算机并查看日志时,我收到日志:

enter image description here

我做错了什么?如何与 Serilog 一起获得在 Windows 服务上运行的应用程序见解?

如果无法同时使用 Serilog 和 App Insights,我很乐意扔掉 Serilog,只保留 App Insights。

c# asp.net-core windows-services azure-application-insights serilog
1个回答
0
投票

我在我的 Program.cs 中使用了以下代码并且它有效:

 var rithapp = "Application";
 var rith_constr = "InstrumentationKey=b7a45ed9=fb6;IngestionEndpoint=https://canadacentral-1.in.applicationinsights.azure.com/;LiveEndpoint=https://canadacentral.livediagnostics.monitor.azure.com/;ApplicationId=5aa2ed1aa";

 Log.Logger = new LoggerConfiguration()
     .Enrich.FromLogContext()
     .Enrich.WithProperty("ApplicationName", rithapp)
     .WriteTo.ApplicationInsights(rith_constr, new TraceTelemetryConverter()) 
     .CreateLogger();

 Log.Information("Hello Rithwik, Windows Running");

套餐:

System.ServiceProcess
Serilog
Serilog.Sinks.ApplicationInsights.TelemetryConverters

输出:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.