Mungkin, banyak yang akrab dengan pustaka ELMAH (Error Logging Modules and Handlers) , yang memungkinkan Anda untuk mengatur pencatatan kesalahan sederhana untuk situs apa pun yang dibuat dengan .NET Framework.

Alat sederhana dan teruji waktu ini telah membantu saya dalam banyak proyek.
Beberapa tahun yang lalu, saat membuat proyek baru untuk .NET Core, saya kesal karena ELMAH tidak berfungsi di bawah .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();
Anda dapat memfilter kesalahan yang dicatat menggunakan filter yang diterapkan dalam kode (menerapkan antarmuka IErrorFilter) atau di file konfigurasi xml ( https://elmah.github.io/a/error-filtering/examples/ ).
services.AddElmah<XmlFileErrorLog>(options => { options.FiltersConfig = "elmah.xml"; options.Filters.Add(new MyFilter()); })
Selain mendaftarkan log kesalahan, perpustakaan memungkinkan Anda untuk mengatur distribusi pemberitahuan (melalui implementasi IErrorNotifier), misalnya, melalui email.
services.AddElmah<XmlFileErrorLog>(options => { options.Notifiers.Add(new ErrorMailNotifier("Email",emailOptions)); });
Semoga perpustakaan gratis ini bermanfaat dalam proyek Anda.
Informasi lebih lanjut tentang perpustakaan dapat ditemukan di sini .