2009-07-31 9 views
1

Mon fichier de configuration ci-dessous: très étrange, j'ai passé une journée à découvrir où je me trompe, mais ne fonctionne toujours pas, il ne consigne toujours rien dans la base de données, mais je peux les sortir avec RollingFileAppender. En outre, la procédure de stockage WriteLog fonctionne bien (je l'ai testé en utilisant sql server studio). J'ai essayé de changer le type de connection mais je ne travaillais pas. Malheureusement, je n'ai pas de serveur SQL 2000/2005 à tester, ma version de log4net devrait être la plus récente: log4net 1.2.10.Est-ce que log4net AdoNetAppender prend en charge sql server 2008?

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 
    </configSections> 
    <log4net> 
     <appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender"> 
     <!--<threshold value="OFF" />--> 
     <bufferSize value="1" /> 
     <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
     <!--<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />--> 
     <connectionString value="Data Source=.\MSSQLSERVER2008,2222;Initial Catalog=UnleashedSaaS;User ID=sa;Password=dogblack;" /> 
     <commandType value="StoredProcedure" /> 
     <commandText value="WriteLog" /> 
     <parameter> 
     <parameterName value="@log_date" /> 
     <dbType value="DateTime" /> 
     <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" /> 
      </parameter> 
     <parameter> 
       <parameterName value="@thread" /> 
       <dbType value="String" /> 
       <size value="255" /> 
       <layout type="log4net.Layout.PatternLayout" value="%thread" /> 
      </parameter> 
     <parameter> 
       <parameterName value="@log_level" /> 
       <dbType value="String" /> 
       <size value="50" /> 
       <layout type="log4net.Layout.PatternLayout" value="%level" /> 
      </parameter> 
     <parameter> 
     <parameterName value="@logger" /> 
        <dbType value="String" /> 
        <size value="255" /> 
        <layout type="log4net.Layout.PatternLayout" value="%logger" /> 
      </parameter> 
     <parameter> 
       <parameterName value="@message" /> 
       <dbType value="String" /> 
       <size value="4000" /> 
       <layout type="log4net.Layout.PatternLayout" value="%message" /> 
      </parameter> 
     <parameter> 
      <parameterName value="@exception" /> 
      <dbType value="String" /> 
      <size value="4000" /> 
      <layout type="log4net.Layout.ExceptionLayout" /> 
     </parameter> 
     </appender> 
     <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" > 
     <!--<threshold value="OFF" />--> 
     <file value="LogData\\" /> 
     <appendToFile value="true" /> 
     <datePattern value="ul_yyyy-MM-dd.LOG" /> 
     <maxSizeRollBackups value="10" /> 
     <rollingStyle value="Date" /> 
     <maximumFileSize value="2MB" /> 
     <staticLogFileName value="false" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %p %u %c %l %m %n%n%n" /> 
     </layout> 
     </appender> 
     <root> 
     <level value="ALL"/> 
     <appender-ref ref="AdoNetAppender_SqlServer" /> 
     <appender-ref ref="RollingLogFileAppender" /> 
     </root> 
    </log4net> 
</configuration> 

Répondre

0

La meilleure façon de déterminer ce qui va mal est d'utiliser dbgview de Sysinternals. Si la journalisation échoue, vous verrez probablement apparaître des messages d'erreur.

+0

Merci pour votre réponse. J'ai trouvé le problème, c'est parce que "" j'ai double sortie "System.Data, System.Data", le log4net fonctionne pour sql server 2008, merci encore! –

Questions connexes