如何在配置文件中初始化log4net GlobalContext属性

4

如果我不想在代码中设置全局上下文属性,有没有一种方法可以在配置文件中定义它呢?

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

?

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 形式的简单文本文件

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接