Проблема с включением log4net в Fluent NHibernate - PullRequest
0 голосов
/ 29 апреля 2011

Мне нужна помощь в настройке log4net и Fluent NHibernate. Кажется, что log4net запускается, но я не получаю никакой информации от NHibernate / Fluent NHibernate. Я хочу, чтобы эта информация отлаживала ошибочное отображение.

Конфигурация в App.config

<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
  <layout type="log4net.Layout.PatternLayout">
    <param name="Header" value="[Header]\r\n" />
    <param name="Footer" value="[Footer]\r\n" />
    <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
  </layout>
</appender>

<root>
  <level value="ALL" />
  <appender-ref ref="LogFileAppender" />
  <appender-ref ref="ConsoleAppender" />
</root>
<logger name="NHibernate"
    additivity="false">
  <level value="ALL"/>
  <appender-ref ref="ConsoleAppender"/>
</logger>

Вот как я запускаю log4net и настройку.

        log4net.Config.XmlConfigurator.Configure();

        FluentConfiguration cfg = Fluently.Configure()
            .Database(SQLiteConfiguration.Standard.ShowSql().InMemory())
            .Diagnostics(x => x.Enable());
        DbCtx.Source = new SessionSource(cfg.BuildConfiguration()
                                                .Properties, new PSModel());

Исключение, которое я получаю, находится в последней строке cfg.BuildConfiguration (). Я не получаю никаких записей в журнале о том, как прошло отображение.

Заранее благодарю за помощь.

Ответы [ 2 ]

1 голос
/ 29 апреля 2011

Если вы хотите видеть сообщения в окне вывода в Visual Studio, вы должны использовать следующее:

<appender name="ConsoleAppender" type="log4net.Appender.TraceAppender" >

Также, чтобы просмотреть сообщения журнала, вы можете выбросить все, что NHibernate выплевывает в ваш LogFileAppender:

<logger name="NHibernate"
    additivity="false">
  <level value="ALL"/>
  <appender-ref ref="ConsoleAppender"/>
  <appender-ref ref="LogFileAppender"/>
</logger>
0 голосов
/ 29 апреля 2011

Проблема заключалась в том, что в Fluent NHibernate возникла исключительная ситуация, поэтому регистрация для NHibernate не смогла войти.

...