我正在嘗試將日志記錄用于 ac# 控制臺專案。在線的每個資源似乎都是針對 asp.net 的,并且使用appsettings.json它是我的專案似乎沒有的東西,所以我希望它與 asp.net 相關。我找到了一個使用以下示例進行日志記錄的視頻。
using Microsoft.Extensions.Logging;
namespace ConsoleTesting;
internal class Program
{
public static void Main()
{
var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddConsole();
});
var logger = loggerFactory.CreateLogger("Logger");
logger.LogCritical("Critical");
logger.LogDebug("Debug");
logger.LogInformation("Information");
Console.WriteLine("Hello World!");
}
}
但這不會在控制臺中列印除Hello World.
uj5u.com熱心網友回復:
我相信問題是時間/緩沖之一。如果您只是Thread.Sleep(5000);在末尾添加 a,我懷疑您會看到所有輸出。(我在我的電腦上做。)
當然,您不想添加Thread.Sleep對真實代碼的呼叫——您真的想重繪 所有記錄器。
通過實驗,看起來處理LoggerFactory正確的事情。在您的簡單示例中,您只需將宣告更改為using陳述句即可:
using var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole());
將LoggerFactory在方法結束時處理,至少似乎重繪 記錄器。不過,我還沒有檔案可以證明這是正確的做事方式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/437688.html
上一篇:遞回函式中的串列正在重置
