3

我有一个记录到 log4net 的应用程序,但也使用 Nhibernate。我的应用程序以编程方式配置了 Nhibernate(使用 Fluent Nhibernate 配置)和 log4Net(使用 BasicConfigurator)。

问题是我的日志充满了 Nhibernate 日志信息,我 99.9% 的时间都不需要这些信息,并且由于 Nhibernate 的完整日志记录,应用程序变慢了。

如何将 Nihbernate 配置为不执行任何日志记录或 log4Net 以编程方式忽略所有 Nhibernate 记录器?我知道您可以使用 xml 配置文件来做到这一点,但这对我来说不是一个选项

任何帮助将非常感激。

4

1 回答 1

7

请参阅Log4Net:以编程方式指定多个记录器(带有多个文件附加程序),我从中窃取了它:

public static void SetLevel(string loggerName, string levelName)
{
    ILog log = LogManager.GetLogger(loggerName);
    Logger l = (Logger)log.Logger;

    l.Level = l.Hierarchy.LevelMap[levelName];
}


SetLevel("NHibernate","Error");
于 2011-04-18T09:44:19.677 回答