我正在我们的 ASP.NET Core 3 应用程序中设置一些日志记录,使用 ILogger (Microsoft.Extensions.Logging) 和 NLog 来启用写入文本文件。
问题是,ILogger 不写入跟踪和调试级别的消息。文本文件或 Visual Studio 输出窗口。使用 NLog.Logger 适用于所有级别。这个问题也存在于默认的 ASP.NET Core 3 Web API 应用程序中,从他们的官方教程中设置了 NLog。以下是我拥有的相关代码。
程序.cs
public static void Main(string[] args)
{
var logger = NLog.Web.NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();
try
{
logger.Trace("NLog Trace from Main()");
logger.Debug("NLog Debug from Main()");
logger.Info("NLog Info from Main()");
logger.Warn("NLog Warn from Main()");
logger.Error("NLog Error from Main()");
logger.Fatal("NLog Fatal from Main()");
CreateHostBuilder(args).Build().Run();
}
catch (Exception exception)
{
//NLog: catch setup errors
logger.Error(exception, "Stopped program because of exception");
throw;
}
finally …Run Code Online (Sandbox Code Playgroud)