在asp.net core / kestrel中记录异常

9

请点击此处查看:https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/logging - NtFreX
该文章展示了如何手动传递消息以记录日志。我如何在Web服务器级别捕获全局异常和错误? - Guerrilla
2
你可以创建一个中间件来捕获异常、记录它们并重新抛出。只需将其注册为第一个即可。 - NtFreX
2个回答

7
是的,ASP.NET Core有内置的日志记录功能,但它不直接提供将日志记录到文件的能力。相反,您需要使用第三方库。 好消息是,所有三个最常见的日志记录库已经作为NuGet包可用于.NET Core:NLogSeriloglog4net
本文对它们进行了很好的概述,并提供了如何使用的示例:ASP.NET Core Logging Tutorial – What Still Works and What Changed?

那么我建议查看aspnet/Diagnostics存储库中的示例。它展示了如何自定义或使用内置的错误中间件、异常处理程序。


3

有一个名为 Serilog.Extensions.Logging.File 的包,它可以通过一行代码 (AddFile()) 实现文件日志记录:

public void Configure(IApplicationBuilder app,
                      IHostingEnvironment env,
                      ILoggerFactory loggerFactory)
{
    loggerFactory.AddFile("Logs/myapp-{Date}.txt");

From this article.


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接