我正在尝试弄清楚是否可能以及如何使用Enterprise Library Logging实现此功能。
在我目前的代码中,我正在处理这样的异常:
exceptionManager.HandleException(ex, "LogException");
我想要的是记录此异常,但收集其他上下文信息,例如汇编版本,我需要扩展\实现以记录此附加上下文信息?
答案 0 :(得分:1)
可能最简单的方法是使用异常的Data
属性来附加您的其他上下文信息。然后,Enterprise Library会将所有Data
元素映射到扩展属性。
try
{
DoSomething();
}
catch (Exception ex)
{
ex.Data["ExecutingAssembly"] = Assembly.GetExecutingAssembly().FullName;
bool rethrow = exceptionManager.HandleException(ex, "LogException");
if (rethrow)
{
throw;
}
}
然后确保日志模板的扩展属性设置为log:
Extended Properties: {dictionary({key} - {value}