我可以记录自定义异常属性吗?

时间:2012-12-05 16:19:20

标签: log4net

我有一些自定义异常,它们从Exception继承,具有自定义属性

e.g。

[Serializable]
public class MyException : Exception
{
    public MyException(string message, string myProperty)
    {
        MyProperty = myProperty
    }

    public string MyProperty {get; set;}
}

我想自动将每个自定义属性添加到我的log4net日志中。有没有内置的方法来做这个或我是否需要创建某种自定义appender?

2 个答案:

答案 0 :(得分:2)

您可以使用GlobalContext.Properties向log4net添加自定义字段,如下所示:

GlobalContext.Properties["MyProperty"] = customException.MyProperty;

然后,在您的appender配置中,您可以使用%property{MyProperty}访问此自定义字段。

答案 1 :(得分:0)

您可以覆盖自定义异常中的.ToString()方法,并将输出附加到基本.ToString()方法。