0

Elmah がエラーをログに記録するたびに、エラーが 2 回ログに記録されます。まったく同じタイムスタンプと 100% 同一です。web.config に特別な構成はありません。ElmahHandleErrorAttribute を作成し、2 つのフィルターを追加しました。

filters.Add(new ElmahHandleErrorAttribute {

            ExceptionType = typeof(System.Data.Common.DbException),
            // DbError.cshtml is a view in the Shared folder.
            View = "DbError",
            Order = 2
        });

filters.Add(new ElmahHandleErrorAttribute {

            ExceptionType = typeof(Exception),
            // DbError.cshtml is a view in the Shared folder.
            View = "Error",
            Order = 3
        });

web.config の一部のスニペット:

<httpModules>
        <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
        <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
        <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
    </httpModules>

<modules runAllManagedModulesForAllRequests="true">
        <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
        <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
        <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
    </modules>

ElmaHandleErrorAttribute で、このコード:

public override void OnException(ExceptionContext context) {
        base.OnException(context);
        if (!context.ExceptionHandled       
            || TryRaiseErrorSignal(context) 
            || IsFiltered(context))         
            return;

        LogException(context);
    }

私はたくさん検索しましたが、私の問題に合う解決策はありません。web.config などに二重エントリはありません。

大きな問題はありませんが、面倒です。

thx事前に

©axi

4

1 に答える 1