【问题标题】:Serilog asp net core 2 not producing MVC eventsSerilog asp net core 2 不产生 MVC 事件
【发布时间】:2018-02-20 02:15:59
【问题描述】:

我按照https://github.com/serilog/serilog-aspnetcore 此处的说明进行操作,但最终没有记录 MVC 事件,即使最低级别设置为详细。任何想法我做错了什么?

我正在使用具有以下设置的 ASP.NET Core 2:

    public static int Main(string[] args)
    {
        Log.Logger = new LoggerConfiguration()
            .MinimumLevel.Verbose()
            .MinimumLevel.Override("Microsoft", LogEventLevel.Verbose)
            .Enrich.FromLogContext()
            .WriteTo.Console()
            .CreateLogger();

       // here goes the rest of init
    }

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .UseSerilog()
            .Build();

【问题讨论】:

  • 您是否缺少 services.AddLogging in Startup.cs?
  • 请分享 Startup 类的代码,正如@HansKilian 指出的那样,问题可能就在那里。
  • 根据此链接github.com/serilog/serilog-aspnetcore,应从 Startup 类中删除所有对 AddLogging 的调用。所以没有什么可显示的。我认为调用 UseSerilog() 可以处理所有这些事情
  • 哦,我没有意识到配置被改变了。你的配置看起来不错。我实际上创建了一个空项目来确认它。尝试按照第一个答案中的建议检查输出设置。
  • 对此是否有解决方案?我遇到了完全相同的问题,但无处可去。

标签: c# asp.net-core serilog


【解决方案1】:

配置看起来不错。我正在使用相同的...您是否在正确的位置寻找日志?

使用此配置,调试时日志将显示在 Visual Studio 的“输出”窗口中。请记住,您必须将输出窗口从“Debug”切换到“ASP.NET Core Web Server”模式。

注意:我使用的是Literate,但应该是一样的。

如果您仍然看不到任何输出,请尝试删除此行并再次检查。 (我对删除覆盖后消失的同一问题记忆模糊)

.MinimumLevel.Override("Microsoft", LogEventLevel.Verbose)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    相关资源
    最近更新 更多