无法将ASP.NET Core控制台日志记录设置为以下信息

时间:2017-09-10 13:23:46

标签: c# asp.net logging asp.net-core

我似乎无法在控制台中显示任何Debug或Trace语句。

Startup.cs Configure(...)我有:

loggerFactory
    .WithFilter(
        new FilterLoggerSettings
        {
            {"AssetTrader", LogLevel.Debug},
            {"Microsoft", LogLevel.Warning},
            {"System", LogLevel.Warning},
        })
    .AddConsole();

在控制器操作中我有:

this._logger.LogTrace("Trace");
this._logger.LogDebug("Debug");
this._logger.LogInformation("Info");
this._logger.LogWarning("Warn");

但是控制台输出只显示两个条目:

info: AssetTrader.Controllers.HomeController[0]
  Info
warn: AssetTrader.Controllers.HomeController[0]
  Warn

我也尝试了loggerFactory.AddConsole(LogLevel.Debug),结果相同。

重现问题的简单测试项目的要点:https://gist.github.com/modo-lv/66e3209f89e986423397928630ba5f9a

1 个答案:

答案 0 :(得分:2)

已解决,感谢Tseng的评论和回答here

就我而言,删除

loggerFactory
    .WithFilter(
        new FilterLoggerSettings
        {
            {"AssetTrader", LogLevel.Debug},
            {"Microsoft", LogLevel.Warning},
            {"System", LogLevel.Warning},
        })
    .AddConsole();

来自Configuration(..)并添加

services.AddLogging(
    builder =>
    {
        builder.AddFilter("AssetTrader", LogLevel.Debug)
            .AddFilter("Microsoft", LogLevel.Warning)
            .AddFilter("System", LogLevel.Warning)
            .AddConsole();
    });

ConfigureServices(...)解决了这个问题。