Peut-être que beaucoup connaissent la bibliothèque ELMAH (modules et gestionnaires de journalisation des erreurs) , qui vous permet d'organiser une simple journalisation des erreurs pour tout site créé à l'aide du .NET Framework.
Cet outil simple et éprouvé m'a aidé dans de nombreux projets.
Il y a plusieurs années, lors de la création de mon nouveau projet pour .NET Core, j'ai été ennuyé de constater que ELMAH ne fonctionne pas sous .NET Core.
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();
Vous pouvez filtrer les erreurs consignées à l'aide de filtres implémentés dans le code (implémentant l'interface IErrorFilter) ou dans le fichier de configuration xml ( https://elmah.github.io/a/error-filtering/examples/ ).
services.AddElmah<XmlFileErrorLog>(options => { options.FiltersConfig = "elmah.xml"; options.Filters.Add(new MyFilter()); })
En plus d'enregistrer le journal des erreurs, la bibliothèque vous permet d'organiser la distribution des notifications (via l'implémentation IErrorNotifier), par exemple, par e-mail.
services.AddElmah<XmlFileErrorLog>(options => { options.Notifiers.Add(new ErrorMailNotifier("Email",emailOptions)); });
J'espère que cette bibliothèque gratuite vous sera utile dans vos projets.
Vous trouverez plus d'informations sur la bibliothèque ici .