複数のアプリケーションからのエラーを保存するための単一の SQL ログがあります。各アプリケーションの elmah.axd ページを無効にし、共通の SQL ログにエラーを報告するすべてのアプリケーションからのエラーを具体的に表示する新しいアプリケーションを用意したいと考えています。
現時点では、すべてのエラーのアプリケーションが共通の SQL ログを使用しているにもかかわらず、現在のアプリケーションからのエラーのみが表示されます。これを以前に実行した人はいますか? elmah コード内で何を調整する必要があるでしょうか?
ベストアンサー1
「SQL ログ」とは、MSSQL Server のことを指していると思います。そうであれば、おそらく、目的を達成する最も簡単な方法は、エラーを保持する SQL Server データベースで作成されたストアド プロシージャを編集することです。
エラーリストを取得するために、ELMAH dllはELMAH_GetErrorsXML
アプリケーション名をパラメータとしてprocに渡すと、procは戻り値をWHERE [Application] = @Application
句。
プロシージャから WHERE 句を削除するだけでELMAH_GetErrorsXML
、アプリケーションに関係なくすべてのエラーが返されるはずです。
単一のエラーレコードを正しく取得するには、ELMAH_GetErrorXML
proc はアプリケーション別にもフィルタリングします。
もちろん、これはこの特定のデータベースからエラーを取得するすべてのアプリケーションに影響しますが、あなたの場合は 1 つしかないと思うので、これで問題ないはずです。
警告:試していないので、結果は保証できません...