[英]log level in development and production asp.net core 2.2
我正在使用 asp.net core mvc 和 web api 項目
有以下版本
<TargetFramework>netcoreapp2.2</TargetFramework>
我也在使用 Microsoft.Extensions.Logging.ILogger 來記錄一些信息
例如: _logger.LogInformation("special information log for xyz method");
應用洞察力。
我在我的本地應用程序設置項目中創建了這樣的日志級別,並從 Visual Studio 中點擊播放圖標並在黑色窗口中觀看控制台日志。
"LogLevel": {
"Default": "Information",
"System": "Warning",
"Microsoft": "Warning"
}
現在當我運行我的應用程序時,我仍然可以看到這樣的日志
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Request finished in 35782.1232ms 200 text/html; charset=UTF-8
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET http://localhost:57526/polyfills.js
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET http://localhost:57526/styles.js
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET http://localhost:57526/vendor.js
問題 #1:為什么我仍然能夠在控制台窗口中看到此日志,其中“信息來自 Microsoft”:(
問題 2:您對生產和開發的最佳推薦(體驗)日志級別是什么? 我不想因為想記錄記錄到應用程序洞察力的信息而減慢我的應用程序的速度。
程序.cs
// Optional: Apply filters to control what logs are sent to Application Insights.
// The following configures LogLevel Information or above to be sent to
// Application Insights for all categories.
logging.AddFilter<Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider>
("", LogLevel.Information);
}
}
);
問題 1:為什么我仍然能夠在控制台窗口中看到此日志,其中“信息來自 Microsoft”:
由於您在開發中看到登錄,因此您需要在appsettings.Development.json
而不是appsettings.json
更改日志級別,您可以在appsettings.json
后面找到該文件。
問題 2:您對生產和開發的最佳推薦(體驗)日志級別是什么? 我不想因為想記錄記錄到應用程序洞察力的信息而減慢我的應用程序的速度。
它記錄良好,請參閱https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-3.0#log-level
在生產中:在 Trace through Information 級別進行日志記錄會產生大量詳細的日志消息。 為了控制成本並且不超過數據存儲限制,將 Trace through Information 級別的消息記錄到大容量、低成本的數據存儲中。 從警告到嚴重級別的日志記錄通常會產生更少、更小的日志消息。 因此,成本和存儲限制通常不是問題,這導致數據存儲選擇的更大靈活性。
在開發期間:通過關鍵消息將警告記錄到控制台。 故障排除時通過信息消息添加跟蹤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.