ASP .ネットコアオプトメンターログ


ご存知かもしれませんがDapr そして、私はそれがあなたがすることができることの1つは、使用してトレースを収集することですOpenTelemetry Collector そしてイベントをAzure Application Insights .
いくらかの読書の後、私は行って、私が私のASPを書くことができるかどうかチェックしました.OpentElementLogとイベントレコードの定義を使用してログオンするネットコアアプリケーション
フィールド名
説明
タイムスタンプ
イベントが発生した時刻.
traceid
リクエストトレースID.
スパニド
リクエストスパンID.
トレースフラグ
w 3 cトレースフラグ.
severitytext
severityテキスト(ログレベルとも呼ばれます).
分数
重症度の数値
名称
ショートイベントID.
ボディ
ログレコードの本文.
リソース
ログのソースについて説明します.
属性
イベントに関する追加情報.
以下のようにします.

ASPを作成します.NETコアアプリケーション
dotnet new webapi -n aspnet.opentelemetry
cd aspnet.opentelemetry

OpenTelemtryライブラリへの参照を追加する
dotnet add package OpenTelemetry.Extensions.Hosting --prerelease
dotnet add package OpenTelemetry.Exporter.Console --prerelease

プログラムでCreateHostBuilderメソッドを変更します.cs
public static IHostBuilder CreateHostBuilder(string[] args) =>
  Host.CreateDefaultBuilder(args)
      .ConfigureLogging(logging =>
      {
          logging.ClearProviders();
          logging.AddOpenTelemetry(options =>
          {
              options.AddProcessor(new SimpleExportProcessor<LogRecord>(new ConsoleExporter<LogRecord>(new ConsoleExporterOptions())));
          });
      })
      .ConfigureWebHostDefaults(webBuilder =>
      {
          webBuilder.UseStartup<Startup>();
      });
コードは最初にすべてのログ記録プロバイダーをクリアし、SimpleExportProcessor and ConsoleExporter .
確認してくださいOpenTelemetry .NET API レポもっと学ぶ.

ログ設定を変更
エディットappsettings.Development.json OpenTelemrationプロバイダーを使用して既定のログ設定を構成するには、次の手順に従います.
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*"
}

プログラムをテストする
次のコマンドを実行してアプリケーションをテストします.
dotnet run
ログには、コンソールで書かれたopentelemtryログレコードとしてフォーマットされます.
ログレコード.traceid :
億円
ログレコード.スパニッシュ
億円
ログレコード.タイムスタンプ:
2021 - 01 - 08 T 10 : 36 : 26.1338054 Z
ログレコード.eventid :
0
ログレコード.カテゴリ名:
マイクロソフト.ホスティング.生涯
ログレコード.ログレベル
インフォメーション
ログレコード.traceflags :
なし
ログレコード.状態
アプリケーションのシャットダウン.
両方TraceId and SpanId リクエストがアプリケーションによって処理されたときに満たされ、呼び出しがDMARによって行われた場合、それによって送信された値を尊重します.したがって、トレースとログを関連付けることができます.
それが助ける望み!そして、完全なコードを見つけてくださいhere