EASMAHをASPでエラーを列挙する方法.ネットコア?



エルマ入門
Ermahはエラー発生モジュールとハンドラを表します.NETエラー.Elmahは、再コンパイルまたは再配備することなく、アプリケーション内のエラーログをアビリティーするために利用できます.シームレスにアプリケーションエラーを捕捉するプロセスを作成します.
マシン上で実行中のWebアプリケーションに追加されると、Elmahツール内のトリガイベントハンドラーをスローする例外がスローされます.これらのイベントハンドラには、さまざまなデータベースのバックエンド、ログをWebポータルから閲覧することができますログを含めることができますし、通知のメールの送信、つぶやきやRSSの記事は、問題の管理者に助言する.Elmahはエラーログのプラグイン可能な実装を提供します.
ヘルスモニタリングシステムの代替は、エラーログモジュールとハンドラ(ELMAH)、Atif Azizによって作成された無料、オープンソースのエラーログシステムです.つのシステム間の最も顕著な違いはエラーのリストとWebページからの特定のエラーの詳細とRSSフィードとして表示するelamhの能力です.Elmahは、それがエラーを記録するだけであるので、健康モニタリングより構成するのが簡単です.
ここでは、ASPでのエラー管理の実行方法について説明します.Elmah Error Management FrameworkとELMAHを使用したネットコアIOは、Elmahを使用してTOELSクラウドベースのエラー管理システムです.
エルマ.ioインデックス検索のためのすべてのエラーと問題追跡のダッシュボードを提供しています.またエルマ.IOはNLOGとlog 4 netを含む多くの他の賞賛された伐採フレームワークでうまく結びつきます.
前に.ネットコアはミドルウェアアーキテクチャで起動されました.Webアプリケーションでエラーを記録するための最も適切な方法はELMAHか類似していました.
でも.NETコアは、モジュールベースではなく、ミドルウェアベースの、Elmahは動作していない別のアーキテクチャを持っています.
この記事は、メモリに最新のエラーを格納するELMAHと非常によく似た単純なロガーを統合する方法を示します.

エルマを選ぶ理由は?
ELMAHは、すべての未処理の例外のログを出力します.
Elmahは、SQL Server、MySQL、ランダムアクセスメモリ(RAM)、SQL Lite、およびOracleのような多くのストレージ内のすべてのエラーを記録します.
ElmahはCSVファイル内のすべてのエラーをダウンロードする機能があります.
JSONまたはXML形式のすべてのエラーデータを取得する
アプリケーションへのディスパッチエラーログ通知
いくつかのコードをカスタマイズすることでエラーログをカスタマイズする

エルマHTTPモジュール

HTTPモジュールが3つあります.
  • ErrorMailModule -メールのログの詳細を送信するために使用されます.
  • ErrorLogModule -すべての例外とIPアドレス、ユーザ名、ウェブサイトユーザ名などのいくつかの他の詳細をログ出力するために使用されます
  • ErrorFilterModule -例外ログをパーソナライズするために使用されます.

  • エルマッシュへのログイン.ASPからのIO.ネットコア
    ログ、エルマに例外を追加することができます.直接ASPからのIO.Elmahを使用したネットコアアプリケーション.入出力パッケージ.これらのパッケージは、Nugetパッケージマネージャを使用してプロジェクトに追加できます.
    続きを読む:New Features Of Asp.net Core For Modern Web And Cloud Applications Development

    では、起動時にConfigureServiceメソッドでAddelmahioを呼び出します.CSファイル
    apitle keyをAPIキーとlogKit idに置き換えます.ログのログIDをログに記録します.
    起動時にconfigureメソッドでUseelmahioを呼び出します.csファイル
    public void ConfigureServices(IServiceCollection services)
        {
            services.AddElmahIo(o =>
            {
                o.ApiKey = "API_KEY";
                o.LogId = new Guid("LOG_ID");
            });
    }
      public void Configure (IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory fac)
        {
            app.UseElmahIo();
    
     }
    

    APIキーの設定とオプションのログID
    別の環境を持っている場合は、APIキーを追加し、AppSettingsでLog IDを追加することを検討してください.JSONファイル
    {
    
      "ElmahIo": {
        "ApiKey": "API_KEY",
        "LogId": "LOG_ID"
      }
    
    Elmahの設定IOはADEADMAIHIOの代わりにconfigure **メソッドを呼び出して行われます.そして最後に、useelmahiomethodを呼び出します.
    public void ConfigureServices(IServiceCollection services)
        {
           services.Configure<elmahiooptions>(Configuration.GetSection("ElmahIo"));
           services.AddElmahIo();
        }
    
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
    
            app.UseElmahIo();
    
        }
    
    ElmaHIOOptionsオブジェクトに追加オプションを設定することもできます
    public void ConfigureServices(IServiceCollection services)
        {
            services.Configure<elmahiooptions>(Configuration.GetSection("ElmahIo"));
        services.Configure<elmahiooptions>(o =>
            {
                o.OnMessage = msg =>
                {
                    msg.Version = "2.1.0";
                };
            });
            services.AddElmahIo();
        }
    

    追加オプション

    イベント
    エルマ.のためのIO.NETコアは、メッセージをログ処理するプロセスにフックするためのイベントの範囲をサポートします.イベントはelmahをインストールするときのアクションとして登録されます.IOミドルウェア
    services.AddElmahIo(o =>
    {
        o.ApiKey = "API_KEY";
        o.LogId = new Guid("LOG_ID");
        o.OnMessage = message =>
        {
            message.Version = "40";
        };
    o.OnError = (message, exception) =>
        {
            logger.Lo?gError(1, exception, "Error during log to elmah.io");
        };
    });
    
    アクションはログプロセスにフックするメカニズムを提供します.OnMessageプロパティに登録されているアクションはElmahによって呼び出されます.APIに新しいメッセージを記録する直前に.
    バージョン番号のような追加のデータを使用してログメッセージを装飾/豊かにするには、このアクションを使用します.Elmahとの通信なら、OnErrorアクションを呼び出します.API APIが失敗しました.
    今エルマの間.IOは規則のserversideを無視します、あなたはELMAHを打つことなくエラーを除外したいかもしれません.入出力API.オプションオブジェクトのonfilter関数を使用すると、フィルタリングは簡単です.
    services.AddElmahIo(o =>
    {
    
        o.OnFilter = message =>
        {
            return message.Type == "System.NullReferenceException";
        };
    });
    

    機密データを削除する
    OnMessageイベントを使用して、敏感なフォームデータをフィルター処理できます.次の例では、すべてのメッセージから秘密キーという名前のサーバー変数を削除することができます.io
    services.AddElmahIo(options =>
    {
        options.ApiKey = "API_KEY";
        options.LogId = new Guid("LOG_ID");
    
        options.OnMessage = msg =>
        {
            var item = msg.ServerVariables.FirstOrDefault(x => x.Key == "Secret-Key"); 
            if (item != null)
            {
                msg.ServerVariables.Remove(item);
            }
        };
    });
    
    をお探しですか?
    今すぐ連絡
    ASP.Net Core Developer
    例外のロギング、ELMAHへのエラー.NLOGを使ったIO
    ELMAHを用いたNLOG入出力NLOGターゲットもASPで使用できます.ENEMAHにメッセージを送信するためのネットコア.入出力これはnugetパッケージマネージャを使用して追加できます.

    ASP用のNLOGです.NETコアアプリケーションを起動クラスで設定できます.ELMAHでターゲットのプロパティを設定する必要があります.IO APIキーとlogid.nlogでもこれを行うことができます.設定ファイル

    結論
    Elmahは、アプリケーションの未処理の例外をログ出力する完全な方法です.これは、SQLサーバー、オラクル、SQLite、MySQL、PostgreSQL、およびXMLファイルのエラーをログに役立ちます.あなたがElmahに加わるならば.ミックスにIOは、Webページのエラーログをリモートで確認することができます必要に応じてエラーに通知を取得します.
    ここにサインアップ の詳細についてはこちら