将dll版本号添加到log4net PatternLayout

我们在log4net中使用自定义模式取得了巨大的成功,但我似乎无法弄清楚如何获取抛出异常的dll的dll版本号 . 有任何想法吗?

https://logging.apache.org/log4net/log4net-1.2.13/release/sdk/log4net.Layout.PatternLayout.html

我们在不同版本上运行多个不同的客户端站点,因此知道生成异常的DLL的版本号将是一个很大的帮助 .

回答(1)

2 years ago

您可能必须在记录时获取dll版本:

…
catch (Exception ex)
{
    var version = GetType().Assembly.GetName().Version.ToString();
    ThreadContext.Properties["version"] = version;
    log.Error(ex);
}

然后在PatternLayout中,引用 %property{version} 来检索值 .