gpt4 book ai didi

asp.net-mvc - 如何将带有附加数据属性的自定义异常记录到 Elmah?

转载 作者:行者123 更新时间:2023-12-01 23:51:41 26 4
gpt4 key购买 nike

我有一个自定义异常,我已经使用反射覆盖了 Data 属性,如下所示...

public class MyCustomException : Exception
{
private readonly SomeModel _log;
public MyCustomException(SomeModel log)
: base(string.Format("Could not insert to some table"))
{
_log = log;
}

public override System.Collections.IDictionary Data
{
get
{
var data = new Dictionary<string, object>();
foreach (PropertyInfo pinfo in _log.GetType().GetProperties())
{
data.Add(pinfo.Name, pinfo.GetType().GetProperty(pinfo.Name));
}
return data;
}
}
}

当上述异常被抛出时,它被记录到 elmah 但 Data 没有被记录。

我必须进行哪些更改才能将 Data 也记录到 elmah 中?请指教。

最佳答案

Elmah.Error 对象的 Detail 属性 - 然后由 ErrorLog 类处理 - 是从 构建的异常的 ToString() 方法。

// Elmah.Error
public Error(Exception e, HttpContext context)
{
// snip
this._detail = e.ToString(); // here
// snip

将您的数据添加到 MyCustomException 中 ToString 方法的重写以在 Elmah 中查看它。

关于asp.net-mvc - 如何将带有附加数据属性的自定义异常记录到 Elmah?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26145231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com