Log4Net:如何在运行时配置阈值?

时间:2013-12-13 21:09:23

标签: log4net

我需要在运行时动态配置阈值,我可能在.net变量中有级别的整数或字符串表示。 log4net没有得到其中一个表示形式,而是希望在构造函数中指定它们,这对我来说似乎很奇怪:

public Level(int level, string levelName);

log4net团队甚至没有解释原因,我发现的全是:

http://logging.apache.org/log4net/release/sdk/log4net.Core.LevelConstructor1.html

他们甚至没有解释这个int level意味着什么,我在哪里可以找到它的映射?他们只是说“更高的价值代表更严重的水平”,这是不够的。

我希望有类似的东西:

appender.Threshold = new Level(level);

此处level可能是字符串或int类型

1 个答案:

答案 0 :(得分:1)

Level类具有预定义级别的公共静态成员,例如Off,Error,Warning:

您可能希望将Threshold属性设置为这些预定义级别之一,例如:

myAppender.Threshold = Level.Warn;

或者,as described in the documentation,您可以将级别设置为存储库LevelMap中的一个条目。

<强>更新

  

你的意思是我必须从他们的订单中解决这个问题吗?比如Off映射到0(或1?),

完全没有:关闭地图到Level.Off.Value;和其他人一样。