Möglicherweise sind viele mit der ELMAH-Bibliothek (Error Logging Modules and Handlers) vertraut, mit der Sie die einfache Fehlerprotokollierung für jede mit .NET Framework erstellte Site organisieren können.

Dieses einfache und bewährte Tool hat mir bei vielen Projekten geholfen.
Als ich vor einigen Jahren mein neues Projekt für .NET Core erstellte, stellte ich verärgert fest, dass ELMAH unter .NET Core nicht funktioniert.
opensource ! , ELMAH .NET Core.
, , pet-. , , «» ElmahCore.
, ElmahCore – opensource , , .NET Core.
, , :
- ,
- HTTP : (header), , cookies,
, Microsoft.Extensions.Logging (ILogger) HTTP .
:
- XML
- , MSSQL, MySQL, PostgreSQL
:
- nuget- elmahcore.
- Startup.cs:
services.AddElmah(); // ConfigureServices app.UseElmah(); // Configure
.
, , ~/elmah.
UI, VUE.js

, . :
services.AddElmah(options => { options.SourcePaths = new [] { @"D:\tmp\ElmahCore.DemoCore3", @"D:\tmp\ElmahCore.Mvc", @"D:\tmp\ElmahCore" }; });
«Log» Microsoft.Extensions.Logging HTTP .

, !
, :
services.AddElmah(options => { options.OnPermissionCheck = context => context.User.Identity.IsAuthenticated; });
UseElmah, UseAuthentication UseAuthorization
app.UseAuthentication(); app.UseAuthorization(); app.UseElmah();
Sie können protokollierte Fehler mithilfe von Filtern filtern, die im Code (Implementierung der IErrorFilter-Schnittstelle) oder in der XML-Konfigurationsdatei ( https://elmah.github.io/a/error-filtering/examples/ ) implementiert sind .
services.AddElmah<XmlFileErrorLog>(options => { options.FiltersConfig = "elmah.xml"; options.Filters.Add(new MyFilter()); })
Neben der Registrierung des Fehlerprotokolls können Sie in der Bibliothek die Verteilung von Benachrichtigungen (über die IErrorNotifier-Implementierung) beispielsweise per E-Mail organisieren.
services.AddElmah<XmlFileErrorLog>(options => { options.Notifiers.Add(new ErrorMailNotifier("Email",emailOptions)); });
Hoffe, diese kostenlose Bibliothek ist hilfreich in Ihren Projekten.
Weitere Informationen zur Bibliothek finden Sie hier .