2010-02-03 5 views
2

Donc, nous avons eu une petite application ETL qui a eu quelques problèmes avec les mises à jour. Qui ont été bien résolus dans un sprint après-midi avec nHibernate. Mais cette application s'appuyait sur log4net pour pousser la sortie de journalisation vers quelques destinations différentes en fonction des commutateurs de ligne de commande. Une fois que nous avons enveloppé nHibernate dans l'application, il ETL'd parfaitement. Mais les fonctions de journalisation ont échoué complètement. Du point de vue du débogueur, tous nos loggers ont tous les niveaux de log4net désactivés.nHibernate désactive mes journaux log4net

Voici le config log4net:

<log4net> 
    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender"> 
    <file value="import-" /> 
    <staticLogFileName value="false" /> 
    <appendToFile value="false" /> 
    <rollingStyle value="Date" /> 
    <maxSizeRollBackups value="5" /> 
    <datePattern value="yyyyMMdd-HHmm&quot;.log&quot;" /> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date %-5level - %message%newline" /> 
    </layout> 
    </appender> 

    <appender name="Console" type="log4net.Appender.ConsoleAppender"> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%-5level : %message%newline" /> 
    </layout> 
    </appender> 

    <appender name="Email" type="log4net.Appender.SmtpAppender"> 
    <to value="[email protected]" /> 
    <from value="[email protected]" /> 
    <subject value="Cte Importer Error" /> 
    <smtpHost value="smtp.example.com" /> 
    <bufferSize value="512" /> 
    <lossy value="false" /> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%newline%date %-5level : %message%newline%newline%newline" /> 
    </layout> 
    </appender> 

    <root> 
    <level value="ALL" /> 
    </root> 

    <logger name="Console"> 
    <level value="INFO" /> 

    <appender-ref ref="Console" /> 
    </logger> 
    <logger name="File"> 
    <level value="INFO" /> 
    <appender-ref ref="RollingFile" /> 
    </logger> 
    <logger name="DebugConsole"> 
    <level value="DEBUG" /> 
    <appender-ref ref="Console" /> 
    </logger> 
    <logger name="DebugFile"> 
    <level value="DEBUG" /> 
    <appender-ref ref="RollingFile" /> 
    </logger> 
    <logger name="EmailErrors"> 
    <level value="ERROR" /> 
    <appender-ref ref="Email" /> 
    </logger> 
</log4net> 

Je ne sais pas quel autre code serait aider, mais je suis heureux de poster quoi que ce soit d'autre de cette application.

Répondre

2

Quelle version de NHibernate utilisez-vous? Construit plus de 1,0-RC1 activé la journalisation en interne. Dans 1.0-RC1, ils ont changé cela, donc vous devez appeler manuellement log4net.XmlConfigurator.Configure(). Cela a été fait pour donner aux développeurs plus de contrôle sur la journalisation.

+0

Et nous avons trouvé notre huckaberry. Note de côté: vous vouliez dire log4net. * Config * .XmlConfigurer.Configure(); –

Questions connexes