當我們在 Log 搜尋我們所要找尋的資訊時 , 通常我們會希望
尋找特定環境的 Log , 例如 Development , QualityAssurance ,
UserAcceptance , Staging , Production 等 , 因為當我們在找尋
Production Issue 可能導致的原因時 , 我們絕對不想找到不相干的資訊 ,
對於 Application Insight , 可以使用下面的方式來處理 :
第一個方式得根據不同的環境使用不同的 Application Insight Key ,
所以可能得建立多個 Application Insight 實體 .
我在這邊會使用第二個方式 , 建立環境的索引 , 例如下圖 :
我們建立了一個 AppRunningEnvironment 索引 , 並且會出現在我們的
搜尋選項 , 他會進一步幫我們 Group 搜尋的結果
如果今天是 NetCore Project , 你不需要做多餘的動作 , 它就會
自動根據你的環境變數 "ASPNETCORE_ENVIRONMENT"
建立一個名為 "AspNetCoreEnvironment" 的索引 , 例如下圖
如果今天是 MVC Project , 我們可以建立一個 TelemetryInitializers 並且註冊在
ApplicationInsights.config (可參考此篇文章)
增加一個 TelemetryInitializers , 這類似一個 Http Module , 所有 Request 都會經過 ,
需要先建立一個名為 SharedComponents 的 Library , 且 NameSpace 需要符合
下面的程式將為所有的 Request 都加上 Application Insight 的索引 ,
這樣子就能夠被搜尋到了