Enterprise Library 5 Logging,使用其他上下文信息填充LogEntry

时间:2011-08-10 15:07:29

标签: c# enterprise-library

我正在尝试弄清楚是否可能以及如何使用Enterprise Library Logging实现此功能。

在我目前的代码中,我正在处理这样的异常:

exceptionManager.HandleException(ex, "LogException");

我想要的是记录此异常,但收集其他上下文信息,例如汇编版本,我需要扩展\实现以记录此附加上下文信息?

1 个答案:

答案 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}