2016-12-15 7 views
3

В моей web.config я имел некоторые регистраторы ошибок пользовательского log4net определены:Пользовательские журналы Sitecore не работают с момента обновления до 8.2/8.1?

<configuration> 
    <log4net> 
     <appender name="RR.Db" type="log4net.Appender.SitecoreLogFileAppender, Sitecore.Logging"> 
      <file value="$(dataFolder)/logs/RR.Db.{date}.txt" /> 
      <appendToFile value="true" /> 
      <layout type="log4net.Layout.PatternLayout"> 
       <conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n" /> 
      </layout> 
      <encoding value="utf-8" /> 
     </appender> 
     <logger name="RR.Db" additivity="false"> 
      <level value="INFO"/> 
      <appender-ref ref="RR.Db"/> 
     </logger> 
     .... 
    </log4net> 
</configuration> 

Они работают отлично на некоторое время. Когда я обновил sitecore с 8.0 до 8.1 (и впоследствии 8.2), все мои регистраторы внезапно перестали работать. Все журналы, отправленные в пользовательские журналы, только что появились в файле log.log по умолчанию, и ни один из моих настраиваемых журналов не был создан.

Почему? Как я могу это исправить?

ответ

4

Мне давно пришлось это выяснить, но выяснилось, что sitecore изменили (с минимальной информацией как обычно), как эти журналы регистрируются. Я нашел buried in the release notes this line:

<log4net> секция была перемещена под <sitecore> узел и теперь поддерживает новую поддержку заплаток.

Таким образом, в основном они перемещаются там, где должна быть сконфигурирована секция log4net. Теперь он должен находиться под конфигурацией <sitecore>, а не непосредственно под <configuration>, где он был ранее/находится в любом другом приложении, использующем log4net.

Я исправил это, добавив новый .config файл, /App_config/Include/logging.xx.config. В этом файле я добавил конфигурацию из web.config с несколькими настройками:

<?xml version="1.0"?> 
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:x="http://www.sitecore.net/xmlconfig/"> 
    <sitecore> 
     <log4net> 
      <appender name="RR.Db" type="log4net.Appender.SitecoreLogFileAppender, Sitecore.Logging"> 
       <file value="$(dataFolder)/logs/RR.Db.{date}.txt" /> 
       <appendToFile value="true" /> 
       <layout type="log4net.Layout.PatternLayout"> 
        <conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n" /> 
       </layout> 
       <encoding value="utf-8" /> 
      </appender> 
      <logger name="RR.Db" additivity="false"> 
       <level value="INFO"/> 
       <appender-ref ref="RR.Db"/> 
      </logger> 
      .... 
     </log4net> 
    </sitecore> 
</configuration> 

Вы также должны удалить конфигурацию для этих журналов в web.config, выше, в настоящее время, где это живет не в корне , Все работает так, как ожидалось.

+0

Я видел, как это происходило раньше с другими разделами XML-конфигурации Sitecore. – DougCouto

+0

Неудивительно, что я не мог найти диагностические сообщения отладки/информации. Привет, Дуг! –