id:kkamegawa さんにお呼びいただき、Visual Studio Users Community Japan で .NET Core Generic Host で Azure Application Insights を使う話をしました。
Azure Application Insights は別に Web アプリケーションだけのサービスではなく、コンソールアプリケーションにも活用できます。
が、ASP. NET Core のようにお手軽に導入できるわけではないため、普段私がやっている方法を紹介させていただきました。
スライドで紹介したコードは GitHub にて公開しています。参考にしてください。
発表時からのアップデートとして、ユーザーシークレットを使うように変更しました。
Application Insights のインストゥルメンテーションキーはいわゆる秘匿情報であるため、appsettings.json に記述しないほうがよい情報となります。
そこで .NET Core のコンソールアプリケーションにユーザーシークレットを設定して、コミット範囲ではないところでインストゥルメンテーションキーを管理しましょう。
コンソールアプリケーションでユーザーシークレットを使うには Microsoft.Extensions.Configuration.UserSecrets の NuGet パッケージが必要なのでプロジェクトにインストールしましょう。
また、Visual Studio でユーザーシークレットを扱うにはこちらの拡張機能が便利です。