4

如果我不想在代码中设置全局上下文属性,有没有办法在配置文件中定义它

log4net.GlobalContext.Properties["AppName"] = "MyCoolApp";

?

4

1 回答 1

2

Log4net 不提供此功能,但您可以轻松地自己构建它:

  • 在您选择的配置文件中存储一些键/值对
  • 在启动时读取键值对并将其分配给全局上下文

第二部分将是这样的:

Dictionary<string, string> pairs = ReadGlobalContextConfiguration();
foreach (var pair in pairs)
{
    log4net.GlobalContext.Properties[pair.Key] = pair.Value;
}

第一部分取决于您要存储信息的位置。有很多选择:

  • App/Web.config 中的配置部分
  • 简单的 XML 文件
  • key=value每行条目的简单文本文件
于 2013-07-18T07:24:49.633 回答