覆盖Elmah记录的错误消息

卡塔利娜岛

有什么方法可以覆盖Elmah记录的错误消息而不进行复制?

我有一个自定义的异常类:

public class BusinessException : Exception
{
    // detailed error message used for logging / debugging
    public string InternalErrorMessage { get; set; }

    public BusinessException(string message, string internalMessage)
        :base(message)
    {
        InternalErrorMessage = internalMessage;
    }
}

从代码中,我抛出这样的异常:

string detailedErrorMessage = string.Format("User {0} does not have permissions to access CreateProduct resource", User.Identity.Name);
throw new BusinessException("Permission denied", detailedErrorMessage);

当Elmah记录错误时,它仅记录Permission denied消息。但是,我需要记录InternalErrorMessage异常属性。

我试图创建一个自定义HandleErrorAttribute来执行此操作,但这会重复记录的异常:

public class ErrorHandleAttribute : HandleErrorAttribute
{
    public override void OnException(ExceptionContext filterContext)
    {
        if (filterContext.ExceptionHandled == true)
            return;

        Exception exception = filterContext.Exception;

        BusinessException businessException = exception as BusinessException;
        if (businessException != null)
        {
            ErrorSignal.FromCurrentContext().Raise(new Exception(businessException.InternalErrorMessage, exception));
        }
    }
}

在此处输入图片说明

西蒙·哈尔西(Simon Halsey)

我怀疑您需要创建自己的错误日志实现来记录除标准属性以外的任何内容。这应该不太困难。

使用SqlErrorLog作为一个例子,你只需要重写log方法和把自己的逻辑来修改一下Error类调用基实现之前包含。

使用@Matthew还说过的话,将使您停止两次记录该异常。

所有的源代码都在这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

覆盖Elmah记录的错误消息

来自分类Dev

在ELMAH SQL日志记录中捕获错误

来自分类Dev

覆盖 ModelBindingMessageProvider 错误消息

来自分类Dev

覆盖Spring表单错误消息

来自分类Dev

ELMAH记录的错误没有任何意义

来自分类Dev

如何在Elmah MVC中记录源错误?

来自分类Dev

哪个更好 - NLog 或 Elmah 用于记录 Javascript 错误/信息?

来自分类Dev

覆盖MVC中的最大长度错误消息

来自分类Dev

覆盖默认的jQuery步骤错误消息

来自分类Dev

在Spring Validator中覆盖错误消息

来自分类Dev

compiz在哪里记录错误消息?

来自分类Dev

PHP OOP 更新记录但显示错误消息

来自分类Dev

手动记录的ELMAH错误未发送电子邮件

来自分类Dev

如何停止Elmah日志记录?

来自分类Dev

错误记录代码的SQL打印错误消息

来自分类Dev

错误消息找不到适合的方法来覆盖

来自分类Dev

如何覆盖OmniFaces默认的验证/转换错误消息?

来自分类Dev

在Django 1.6中覆盖ModelForm字段错误消息

来自分类Dev

如何在GWT中的MultiUploader中覆盖错误消息

来自分类Dev

Springfox 3:从ResponseMessage迁移到Response以覆盖错误消息

来自分类Dev

在Django 1.6中覆盖ModelForm字段错误消息

来自分类Dev

Django:覆盖默认用户模型的错误消息

来自分类Dev

如何覆盖自定义操作中出现的错误消息

来自分类Dev

错误消息找不到适合的方法来覆盖

来自分类Dev

MFC,CDataExchange:覆盖警告用户输入错误的消息框

来自分类Dev

覆盖Django RestFramework CreateModelMixin序列化器错误消息

来自分类Dev

覆盖表单的 clean 方法以自定义错误消息

来自分类Dev

可以覆盖来自 WIX 的 Windows Installer 错误消息

来自分类Dev

Elmah没有记录NullReference异常

Related 相关文章

热门标签

归档