c# – 在哪里可以找到用于配置Microsoft扩展日志记录的日志记录设置的文档?

您可以使用默认设置在任何地方找到示例

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    }
  }
}

我想知道是否有更多,例如,如果我可以自定义消息的格式,如NLOG布局属性.

<target name="logfile" xsi:type="File" fileName="file.txt" layout="${date:format=yyyyMMddHHmmss} ${message}" />

最佳答案 以下答案可能不完全准确,因为我对ASP.NET核心日志不太熟悉.以下是基于一些研究并查看源代码和示例.

快速查看Microsoft.Extensions.Logging NuGet包的源代码(其源代码可以找到on GitHub)表明您显示的设置可能特定于ConsoleLogger,后者无法识别任何其他设置.通过查看源文件here,尤其是the file ConfigurationConsoleLoggerSettings.cs,您可以自行查看,您可以在其中找到访问的配置节.

不同的记录器可能采用完全不同的方法来读取其配置.例如,NLog可以配置XML文件.如果要使用NLog,则需要使用ASP.NET Core注册相应的日志提供程序.你想要NLog provider.有一个example project on that project page,它展示了它的基本用途:

// add the NuGet package `NLog.Web.AspNetCore` as a project dependency,
// which makes these namespaces available: 
using NLog.Extensions.Logging;
using NLog.Web;

// your ASP.NET Core startup / configuration class:
partial class Startup
{
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        …
        loggerFactory.AddNLog();
        app.AddNLogWeb();
        …
    }
}

然后configure NLog through the NLog.config XML file.

点赞