我想使用Elmah记录控制台应用程序的错误。我找到了ElmahCore和elmah.io.core,但是我不知道如何在控制台应用程序上设置它们中的任何一个。我使用的是.net core
答案 0 :(得分:1)
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 NuGet包或使用一种流行的日志记录框架(如Serilog和NLog)的集成与.NET内核配合使用。
我不建议您使用ElmahCore登录控制台应用程序。它是为ASP.NET Core创建的。从控制台应用程序进行日志记录有更好的选择,例如上述的日志记录框架。