【问题标题】:Programmatically set Nhibernate to lower logging level for log4net以编程方式将 Nhibernate 设置为 log4net 的较低日志记录级别
【发布时间】:2011-04-18 17:44:19
【问题描述】:

我有一个应用程序,它记录到 log4net,但也使用 Nhibernate。我的应用程序同时配置了 Nhibernate(使用 Fluent Nhibernate 配置)和 log4Net(使用 BasicConfigurator)programmatically

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

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

任何帮助将不胜感激。

【问题讨论】:

    标签: c#-4.0 fluent-nhibernate log4net nhibernate-3


    【解决方案1】:

    请参阅 Log4Net: Programmatically specify multiple loggers (with multiple file appenders) 我从哪里偷的:

    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");
    

    【讨论】:

      猜你喜欢
      • 2010-10-17
      • 2016-05-22
      • 1970-01-01
      • 1970-01-01
      • 2014-02-17
      • 1970-01-01
      • 1970-01-01
      • 2014-08-25
      • 2023-03-16
      相关资源
      最近更新 更多