1

我有一個簡單的文本文件日誌工作正常的應用程序。現在我還需要登錄mysql數據庫。 但是我的代碼日誌條目沒有發生任何事情。 我log4net的配置是log4net在我的.net 3.5應用程序中不工作的Mysql日誌

<?xml version="1.0" encoding="utf-8" ?> 
<log4net> 
    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"> 
    <immediateFlush value="true" /> 
    <bufferSize value="1" /> 
    <connectionType value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data, Version=6.4.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> 
    <connectionString value="data source=localhost;initial catalog=mytestdb;User ID=root;Password=" /> 
    <commandText value="INSERT INTO system_log(thread,level,appname,message,action) VALUES (?thread, ?level, ?appname, ?message, ?action)" /> 
    <parameter> 
     <parameterName value="thread" /> 
     <dbType value="String" /> 
     <size value="100" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%t" /> 
     </layout> 
    </parameter> 
    <parameter> 
     <parameterName value="level" /> 
     <dbType value="String" /> 
     <size value="10" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%p" /> 
     </layout> 
    </parameter> 
    <parameter> 
     <parameterName value="appname" /> 
     <dbType value="String" /> 
     <size value="10" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="My Web Service" /> 
     </layout> 
    </parameter> 
    <parameter> 
     <parameterName value="message" /> 
     <dbType value="String" /> 
     <size value="4000" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%m" /> 
     </layout> 
    </parameter> 
    <parameter> 
     <parameterName value="action" /> 
     <dbType value="String" /> 
     <size value="45" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%5c{1}.%M" /> 
     </layout> 
    </parameter> 
    <filter type="log4net.Filter.LevelRangeFilter"> 
     <acceptOnMatch value="true" /> 
     <levelMin value="DEBUG" /> 
     <levelMax value="FATAL" /> 
    </filter> 
    </appender> 
    <!--<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" > 
    <file value="..\\Logs.txt" /> 
    <appendToFile value="true" /> 
    <datePattern value="yyyyMMdd" /> 
    <rollingStyle value="Date" /> 
    <filter type="log4net.Filter.LevelRangeFilter"> 
     <acceptOnMatch value="true" /> 
     <levelMin value="DEBUG" /> 
     <levelMax value="FATAL" /> 
    </filter> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%d{yyyy-MM-dd HH:mm:ss.fff} %10p %-5property{_App} %-5property{_Node} [%2t] %5c{1}.%M - %m%n" /> 
    </layout> 
    </appender>--> 
    <root> 
    <level value="ALL" />  
    <!--<appender-ref ref="RollingLogFileAppender" />--> 
    <appender-ref ref="AdoNetAppender" /> 
    </root> 
</log4net> 
+0

它結束了一個錯誤的配置。我必須設置bufferSize = 0和commanttext爲

回答

0

在當前的配置緩衝區大小最初設定在100 ..所以不得不立即設定爲0或1,使得發送log4net的消息。

<bufferSize value="0" /> 

二是問題我用commandparamter以錯誤的方式 我已經將它設置爲

<commandText value="INSERT INTO system_log(thread_id,level,appname,message,action) VALUES (@threadParam,@levelParam,@appnameParam,@messageParam,@actionParam);" /> 

其中工程