Почему эта конфигурация Fluent NHibernate по-прежнему регистрирует все уровни в log4net? - PullRequest
3 голосов
/ 24 марта 2011

У меня есть следующая конфигурация Fluent Nhibernate:

public ISessionSource CreateSessionSource()
        {

            var config = Fluently.Configure()
                .Database(MsSqlCeConfiguration
                              .Standard
                              .ConnectionString(connectionString)
                              .DoNot.ShowSql()
                              .UseOuterJoin()
                              .UseReflectionOptimizer())
                .Mappings(GetMappings)
                .Diagnostics(x => x.Enable(false))
                .ExposeConfiguration(ExposeConfiguration);

            Factory.RegisterSingleton(config);

            var source = new SessionSource(config);

            return source;
        }

Я понял, что .Diagnostics (x => x.Enable (false)) будет препятствовать ведению журнала, но я все еще получаю весь DEBUG,ИНФОРМАЦИЯ, ОШИБКА, ФАТАЛЬНЫЕ уровни зарегистрированы в моих приложениях log4net.

Любые указатели или помощь будут оценены.

Спасибо

1 Ответ

5 голосов
/ 24 марта 2011

Насколько я понимаю, метод Diagnostics контролирует уровень ведения журнала Fluent NHibernate, а не уровень NHibernate.Уровень регистрации log4net для NHibernate должен быть установлен в вашем конфигурационном файле:

<log4net>
    <root>
      <appender-ref ref="SqlServerAppender" />
      <level value="ERROR" />
    </root>
    <logger name="NHibernate">
      <level value="ERROR" />
    </logger>
    <!-- etc -->
</log4net>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...