【发布时间】:2013-12-21 12:02:17
【问题描述】:
我想在我的应用程序中创建一个区域,让系统管理员直接修改记录器级别。
This answer from 2009 暗示我可以做到
foreach (ILog logger in log4net.LogManager.GetCurrentLoggers())
{
((log4net.Repository.Hierarchy.Logger)logger).Level =
log4net.Core.Level.Error;
}
我的应用程序使用log4net 2.0.3 (1.2.13),这似乎不可用,因为ILog 的任何实现都没有继承该类。
相反,我可以获取每个ILog 的Logger 属性以获取ILogger 的实例。这给了我名称,但不会让我查询或设置级别。虽然这是实现中可用的能力,但我不能简单地进行转换,因为实现是一个内部类。
如何在最近的版本中做到这一点?
【问题讨论】:
标签: log4net