首页 > 代码库 > 关于log4net自定义字段写入不进数据库的问题

关于log4net自定义字段写入不进数据库的问题

网上的教程上配置文件基本上都差不多

<configuration>  <startup>    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>  </startup>  <configSections>    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>  </configSections>  <log4net>    <logger name="Logger">      <level value="http://www.mamicode.com/All"/>      <appender-ref ref="ADONetAppender"/>    </logger>    <!--<root>            <level value="http://www.mamicode.com/All" />      <appender-ref ref="ADONetAppender" />         </root>-->    <appender name="ADONetAppender" type="log4net.Appender.ADONetAppender">      <!--BufferSize为缓冲区大小-->      <param name="BufferSize" value="http://www.mamicode.com/1"/>      <connectionType value="http://www.mamicode.com/System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>      <connectionString value="http://www.mamicode.com/database=***;server=.;User ID=sa;Password=***;"/>      <commandText value="http://www.mamicode.com/INSERT INTO SYS_Log ([LogTime],[Thread],[Level],[Logger],[Message],[UserID],[OperationID]) VALUES (@log_date, @thread, @log_level, @logger, @message,@UserID,@OperationID)"/>      <parameter>        <parameterName value="http://www.mamicode.com/@log_date"/>        <dbType value="http://www.mamicode.com/DateTime"/>        <layout type="log4net.Layout.RawTimeStampLayout"/>      </parameter>      <parameter>        <parameterName value="http://www.mamicode.com/@thread"/>        <dbType value="http://www.mamicode.com/String"/>        <size value="http://www.mamicode.com/255"/>        <layout type="log4net.Layout.PatternLayout">          <conversionPattern value="http://www.mamicode.com/%thread"/>        </layout>      </parameter>      <parameter>        <parameterName value="http://www.mamicode.com/@log_level"/>        <dbType value="http://www.mamicode.com/String"/>        <size value="http://www.mamicode.com/50"/>        <layout type="log4net.Layout.PatternLayout">          <conversionPattern value="http://www.mamicode.com/%level"/>        </layout>      </parameter>      <parameter>        <parameterName value="http://www.mamicode.com/@logger"/>        <dbType value="http://www.mamicode.com/String"/>        <size value="http://www.mamicode.com/255"/>        <layout type="log4net.Layout.PatternLayout">          <conversionPattern value="http://www.mamicode.com/%logger"/>        </layout>      </parameter>      <parameter>        <parameterName value="http://www.mamicode.com/@message"/>        <dbType value="http://www.mamicode.com/String"/>        <size value="http://www.mamicode.com/4000"/>        <layout type="log4net.Layout.PatternLayout">          <conversionPattern value="http://www.mamicode.com/%message"/>        </layout>      </parameter>      <parameter>        <parameterName value="http://www.mamicode.com/@UserID" />        <dbType value="http://www.mamicode.com/string" />        <size value="http://www.mamicode.com/255" />        <layout type="Common.Logger.CustomLayout">          <conversionPattern value="http://www.mamicode.com/%UserID" />        </layout>      </parameter>      <parameter>        <parameterName value="http://www.mamicode.com/@OperationID"/>        <dbType value="http://www.mamicode.com/string" />        <size value="http://www.mamicode.com/20" />        <layout type="Common.Logger.CustomLayout">          <conversionPattern value="http://www.mamicode.com/%OperationID"/>        </layout>      </parameter>    </appender>  </log4net></configuration>

 

请注意我的最后一个字段,之前这个字段我是这样配置的

 <parameter>        <parameterName value="http://www.mamicode.com/@OperationID"/>        <dbType value="http://www.mamicode.com/Int" />        <layout type="Common.Logger.CustomLayout">          <conversionPattern value="http://www.mamicode.com/%OperationID"/>        </layout></parameter>

 因为我的这个ID在数据库中是int类型的,然后我在想log4net应该不会不支持int类型吧,然后我这里就这样配置了

然后一直就是插入不进去,直到我一个朋友跟我说把最后一个字段的类型改成string看看,我改了之后果断就好了有木有

虽然不知道是什么原因,但是问题总算是解决了。在这里记下这个问题,为以后有犯我这个错误的朋友做点贡献。