我想使用 Elmah 记录控制台应用程序的错误。我找到了 ElmahCore 和 elmah.io.core,但我不知道如何在控制台应用程序上设置它们。我正在使用 .net core .
最佳答案
ELMAH(开源项目)不适用于 .NET Core。 ElmahCore 对 ASP.NET Core 有很多依赖,但如果你真的愿意,你可以这样做:
class Program
{
static void Main(string[] args)
{
var log = new MemoryErrorLog();
log.Log(new Error(new Exception()));
var errors = new List<ErrorLogEntry>();
var result = log.GetErrors(0, 10, errors);
Console.WriteLine(result);
Console.WriteLine(errors);
Console.ReadLine();
}
}
您可以将 MemoryErrorLog
替换为您选择的目标记录器。
名为 elmah.io.core
的包是 elmah.io 中已弃用的包。 elmah.io 是(除其他外)ELMAH 的商业云版本,您可以将所有错误存储在云中 ( list of differences between ELMAH and elmah.io )。 elmah.io 通过 Elmah.Io.Client 与 .NET core 配合使用NuGet 包或使用流行日志记录框架的集成之一,例如 Serilog和 NLog .
我不建议您使用 ElmahCore 来登录控制台应用程序。它是为 ASP.NET Core 创建的。有很多更好的选项可以从控制台应用程序进行日志记录,例如前面提到的日志框架。
关于.net-core - 如何为控制台应用程序设置 ElmahCore?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53514987/