.NETCoreサイトのシンプルで便利なエラーログ

おそらく、多くの人がELMAH(Error Logging Modules and Handlers)ライブラリ精通しています。このライブラリを使用すると、.NETFrameworkで構築されたサイトの簡単なエラーログを整理できます。













このシンプルで実績のあるツールは、多くのプロジェクトで私を助けてくれました。

数年前、.NET Coreの新しいプロジェクトを作成しているときに、ELMAHが.NETCoreでは機能しないことに気づきました。







opensource ! , ELMAH .NET Core.







, , pet-. , , «» ElmahCore.







, ElmahCore – opensource , , .NET Core.

, , :







  • ,
  • HTTP : (header), , cookies,


, Microsoft.Extensions.Logging (ILogger) HTTP .

:







  • XML
  • , MSSQL, MySQL, PostgreSQL


:







  1. nuget- elmahcore.
  2. 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();
      
      





コード(IErrorFilterインターフェイスの実装)またはxml構成ファイル(https://elmah.github.io/a/error-filtering/examples/)に実装されているフィルターを使用して、ログに記録されたエラーをフィルター処理できます







services.AddElmah<XmlFileErrorLog>(options =>
{
    options.FiltersConfig = "elmah.xml";
    options.Filters.Add(new MyFilter());
})
      
      





このライブラリでは、エラーログの登録に加えて、電子メールなどによる通知の配布を(IErrorNotifier実装を介して)整理できます。







services.AddElmah<XmlFileErrorLog>(options =>
{
    options.Notifiers.Add(new ErrorMailNotifier("Email",emailOptions));
});
      
      





この無料のライブラリがプロジェクトに役立つことを願っています。

ライブラリの詳細については、こちらをご覧ください








All Articles