ASP .ネットコアオプトメンターログ
3901 ワード
ご存知かもしれませんがDapr そして、私はそれがあなたがすることができることの1つは、使用してトレースを収集することですOpenTelemetry Collector そしてイベントをAzure Application Insights .
いくらかの読書の後、私は行って、私が私のASPを書くことができるかどうかチェックしました.OpentElementLogとイベントレコードの定義を使用してログオンするネットコアアプリケーション
フィールド名
説明
タイムスタンプ
イベントが発生した時刻.
traceid
リクエストトレースID.
スパニド
リクエストスパンID.
トレースフラグ
w 3 cトレースフラグ.
severitytext
severityテキスト(ログレベルとも呼ばれます).
分数
重症度の数値
名称
ショートイベントID.
ボディ
ログレコードの本文.
リソース
ログのソースについて説明します.
属性
イベントに関する追加情報.
以下のようにします.
ASPを作成します.NETコアアプリケーション
OpenTelemtryライブラリへの参照を追加する
プログラムでCreateHostBuilderメソッドを変更します.cs
確認してくださいOpenTelemetry .NET API レポもっと学ぶ.
ログ設定を変更
エディット
プログラムをテストする
次のコマンドを実行してアプリケーションをテストします.
ログレコード.traceid :
億円
ログレコード.スパニッシュ
億円
ログレコード.タイムスタンプ:
2021 - 01 - 08 T 10 : 36 : 26.1338054 Z
ログレコード.eventid :
0
ログレコード.カテゴリ名:
マイクロソフト.ホスティング.生涯
ログレコード.ログレベル
インフォメーション
ログレコード.traceflags :
なし
ログレコード.状態
アプリケーションのシャットダウン.
両方
それが助ける望み!そして、完全なコードを見つけてくださいhere
いくらかの読書の後、私は行って、私が私の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
Reference
この問題について(ASP .ネットコアオプトメンターログ), 我々は、より多くの情報をここで見つけました https://dev.to/cmendibl3/asp-net-core-opentelemetry-logging-24c6テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol