今回は、Blobに出力されるログについてのまとめです。前々回も説明したように、ログの出力先はTableとBlobに分類され、IISログなどはBlobに出力されます。
Blobに出力されるログは、すべて同じ枠組みで動作しており、簡単にいうとローカルストレージに出力されたファイルをBlobに転送するだけの簡単な仕組みです。
独自ログについても同様で、DirectoryConfigurationに任意のフォルダを設定し、そのフォルダにファイルを書き込んでおくと、同じ仕組みでBlobに転送されます。
ログの種類 | 出力先 |
---|---|
トレースログ | Table |
パフォーマンスカウンタ | Table |
イベントログ | Table |
インフラログ | Table |
IISログ | Blob |
IIS失敗ログ | Blob |
クラッシュダンプ | Blob |
その他 独自ログ | Blob |
IISのログを取得サンプルが以下。特に転送間隔を設定している以外になにもしてません。これは、IISログはデフォルトで取得されローカルストレージに蓄積されているので、これをBlobに転送するか否かの設定をするだけなのです。
// Monitorの取得 var mconfig = DiagnosticMonitor.GetDefaultInitialConfiguration(); // 転送間隔 mconfig.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1); // モニタ開始 DiagnosticMonitor.Start("DiagnosticsConnectionString", mconfig);
Blobに出力されたログ。フォルダ構成そのままにBlobに格納される。(階層化してみせているのはCloud Xplorerの仕組みで、Blobのコンテナは1階層)
出力されたログをNotepadで開いたところ。