1
我正在使用log4net和日誌記錄異常。但我想記錄當前對象的例外時間,但我不能。 我創建了異常並將對象添加到異常的數據屬性,然後通過log4net記錄異常。 log4net的異常消息不包含我的對象。Log4Net不記錄自定義異常正確
我的代碼如;
try
{
Exception exp = new Exception("critical error");
exp.Data.Add("Eror Object", viewModel);
throw exp;
}
catch (Exception exp)
{
_logManager.Error(exp);
}
my viewModel object;
[Serializable]
public class CartTransferViewModel
{
public CartTransferViewModel()
{
Model = new ModelObject();
}
public ModelObject Model { get; set; }
public string InformatinMessage { get; set; }
public bool? IsActive { get; set; }
}
而且我的Model對象也是可序列化的。但log4Net的異常消息是這樣的;
System.Exception: critical error
at FooProject.FooClass.FooMethod() in d:\FooProject\FooClass.cs:line 200
我刪除可序列化的屬性,然後重新運行我的應用程序,錯誤代碼確實更改爲;
System.ArgumentException: Argument passed in is not serializable.
Parameter name: value
at System.Collections.ListDictionaryInternal.Add(Object key, Object value)
at FooProject.FooClass.FooMethod() in d:\FooProject\FooClass.cs:line 200
如何使用我的對象記錄我的自定義異常?