2009-04-07 3 views
1

У меня возникли проблемы с получением Spring.Net для входа в систему, используя Log4Net. Я особенно заинтересован в том, чтобы следить за Аспектами. Я использую довольно простой журнала конфигурации, аналогичной той, что в примере приложения MovieFinder:Регистрация Spring.Net с Log4Net не работает

... 
<logger name="Spring"> 
    <level value="DEBUG" /> <!-- Have tried INFO as well, no different --> 
    <appender-ref ref="SpringAppender"/> 
</logger> 

<appender name="SpringAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="..\Log\Spring_Log.txt"/> 
    <appendToFile value="true"/> 
    <maximumFileSize value="100MB"/> 
    <maxSizeRollBackups value="2"/> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%date %-5level [%thread] %logger - %message%newline"/> 
    </layout> 
</appender> 
... 

Файл «Spring_Log.txt» создается, но ничего не регистрируется в ней (то есть пустой файл). Log4Net в настоящее время корректно регистрируется для NHibernate и нашего пользовательского ведения журнала приложений. Я использую Spring.Net v1.2.0.20313 и Log4Net v1.2.10.0.

У кого-нибудь еще была эта проблема, которую они смогли решить? Большое спасибо за любую помощь, приветствия.

ответ

3

Как Erich сказал, что вам нужно настроить Common.Logging. Ваш файл конфигурации log4net в порядке. Вот то, что я получил с помощью файла конфигурации:

2009-05-02 19:08:40,890 DEBUG [10] Spring.Objects.Factory.Support.AbstractObjectDefinitionReader - Loading XML object definitions from config [C:\Documents and Settings\pczapla\My Documents\Visual Studio 2008\Projects\TimeLogger\TimeLogger\bin\Debug\TimeLogger.exe.config#spring/objects] 
2009-05-02 19:08:40,905 DEBUG [10] Spring.Objects.Factory.Support.AbstractObjectDefinitionReader - Using the following XmlReader implementation : System.Xml.XsdValidatingReader 
2009-05-02 19:08:40,921 DEBUG [10] Spring.Objects.Factory.Xml.DefaultObjectDefinitionDocumentReader - Loading object definitions. 
2009-05-02 19:08:40,921 DEBUG [10] Spring.Objects.Factory.Xml.ObjectDefinitionParserHelper - Loading object definitions... 

Вот краткое руководство, как настроить Common.Logging:

Добавить Common.Logging & Common.Logging.Log4Net сборки они поставляются вместе с spring in lib folder (C:\Program Files\Spring.NET 1.2.0\lib\Net\2.0\). Затем добавьте следующую конфигурацию в своем app.config:

<configuration> 
    </configSections> 
     ... 
     <sectionGroup name="common"> 
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" /> 
     </sectionGroup> 
    </configSections> 
    ... 
    <common> 
     <logging> 
      <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net"> 
       <!-- Common Logging assumes that log4net is initialized --> 
       <arg key="configType" value="EXTERNAL"/> 
       <!-- Or it can configure log4net for you 
       <arg key="configType" value="FILE-WATCH" /> 
       <arg key="configFile" value="path\to\your\log4net.config" /> 
       --> 
      </factoryAdapter> 
     </logging> 
    </common> 
</configuration> 

То есть. Теперь вы должны получать отладочные сообщения с весны.

Смежные вопросы