Start Debugging

タグ: logging

10 件

2026-10-26 dotnetcsharplogging
appsettings.json でログレベルごとに異なる Serilog の出力テンプレートを使う方法
outputTemplate はシンクごとに固定のため、レベル別の書式には {#if @l ...} ブロックを使った ExpressionTemplate か、ByIncludingOnly / ByExcluding フィルターを持つ 2 つの Logger サブロガーのどちらかが必要です。どちらも appsettings.json だけで設定でき、Serilog 4.4、Serilog.Settings.Configuration 10.0.1、Serilog.Expressions 5.0 で検証しています。
.NET Extensions 10.11: バッファーされたログがついにスコープを保持できるようになりました
2026-10-15 にリリースされた Microsoft.Extensions.Telemetry 10.11.0 は、グローバルおよびリクエスト単位のログ バッファリングに実験的な IncludeScopes オプションを追加しました。これにより BeginScope の OrderId や TenantId が、黙って失われることなく Flush() 後も残ります。
ASP.NET Core ですべてのログエントリに現在のユーザー ID を追加する方法
BeginScope ミドルウェアでは、例外ハンドラーのエラーログと Request finished の行が漏れます。IHttpContextAccessor からユーザーを読み取る ILogEnricher を登録し、処理がリクエストの外に出るときだけスコープを開き、Serilog の AddSerilog がエンリッチメントを黙って無効化する点に注意しましょう。
.NET で LogProperties とデータレダクションを使ってログから機微な値を伏せる方法
ソースジェネレーターが生成するログで分類済みデータをレダクションする完全ガイドです。タクソノミーの構築、Redactor の実装、EnableRedaction と AddRedaction の配線、そして部分マスクを静かに壊すディスクリミネーターまでを扱います。Microsoft.Extensions.Compliance.Redaction 10.9.0 の実際の出力付きです。
.NET 11 で Serilog と Seq による構造化ログを設定する方法
.NET 11 の ASP.NET Core アプリに Serilog 4.x と Seq 2025.2 を組み込むための完全ガイド。AddSerilog と UseSerilog の違い、二段階ブートストラップロギング、JSON 設定、エンリッチャー、リクエストロギング、OpenTelemetry トレース相関、API キー、そしてバッファリング、保持期間、シグナルレベルにまつわる本番環境での落とし穴を解説します。