2009-04-07 6 views
1

J'ai des difficultés à enregistrer Spring.Net à l'aide de Log4Net. Je suis particulièrement intéressé à voir la connexion autour des Aspects. J'utilise une configuration de journal assez simple, similaire à celle de l'exemple d'application MovieFinder:Enregistrement Spring.Net avec Log4Net ne fonctionnant pas

... 
<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> 
... 

Le fichier « Spring_Log.txt » est créé, mais rien est enregistré à elle (ce fichier vide). Log4Net est actuellement connecté correctement pour NHibernate et notre journalisation d'application personnalisée. J'utilise Spring.Net v1.2.0.20313 et Log4Net v1.2.10.0.

Est-ce que quelqu'un d'autre avait ce problème qu'il était capable de résoudre? Merci beaucoup pour toute aide, acclamations.

Répondre

3

Comme Erich dit, vous devez configurer Common.Logging. Votre fichier de configuration log4net est correct. Voici ce que j'ai en utilisant votre fichier de configuration:

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... 

Voici un guide rapide comment configurer Common.Logging:

Ajouter Common.Logging & ensembles Common.Logging.Log4Net ils sont livrés avec ressort dans le dossier lib (C:\Program Files\Spring.NET 1.2.0\lib\Net\2.0\). Ensuite, ajoutez la configuration suivante à votre 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> 

C'est-il. Maintenant, vous devriez recevoir des messages de débogage à partir du printemps.