EASMAHをASPでエラーを列挙する方法.ネットコア?
7394 ワード
エルマ入門
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つあります.
エルマッシュへのログイン.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ページのエラーログをリモートで確認することができます必要に応じてエラーに通知を取得します.
ここにサインアップ の詳細についてはこちら
Reference
この問題について(EASMAHをASPでエラーを列挙する方法.ネットコア?), 我々は、より多くの情報をここで見つけました https://dev.to/tarungurang/how-to-use-elmah-for-enumerating-error-in-aspnet-core-2p2iテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol