利用Log4net在Azure Application Insights上列印日誌
阿新 • • 發佈:2022-04-13
1,概要
嘗試利用Log4net在Azure Application Insights上列印日誌的方法
2,環境
IDE:VisualStudio 2019
3,具體步驟
前提條件:專案的Azure Application Insights的相關設定完成
① Nuget 包管理器控制檯下安裝下列相關包
Install-Package log4net
Install-Package Microsoft.ApplicationInsights.Log4NetAppender
② Program.cs程式碼追加
public class Program {public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); log4net.Config.XmlConfigurator.Configure(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureLogging((hostingContext, logging)=> { logging.ClearProviders(); logging.AddLog4Net(); }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }); }
③ 之後的日誌出力方法和通常的Log4net一樣即可
④ 使用Application Insights入口網站的檢索功能來確認日誌內容
4,注意點
① 列印日誌的同時,相關情報也一起打印出來,最好不要一條一條列印,而是儘可能打包一次性輸出,從而減少列印的次數
② Application Insights的取樣(sampling)預設有效,所以短期內大量列印日誌的話,有可能進行取樣列印日誌,所以如果需要列印所有日誌的話,需要將取樣進行無效化設定