使用Log4Net和AdoNetAppender将XMLLayout参数写入DbType XML字段

时间:2014-04-01 18:37:19

标签: sql-server xml stored-procedures log4net log4net-appender

非常直截了当的问题。

我在SQL Server数据库上有一个表,其中包含一个DbType为XML的字段。

我想使用Log4Net的XML布局格式写入该字段而不编写自定义appender;使用开箱即用的AdoNetAppender。

下面是我当前的代码,但是,当它尝试登录时,它会插入一条记录,但是" Exception"字段将为空白。

(为了这个问题,我已经简化了代码;它曾经使用模式布局写入许多其他字段。我已经确认Appender确实有效并且log4net配置正确,我只是尝试使用包含XMLLayout的log4net登录到dbtype的XML。)

<appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
  <bufferSize value="1" />
  <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  <ConnectionStringName value="CONNECTIONSTRING"/>
  <commandText value="dbo.TestLog_Insert @Exception = @Exception" />
  <parameter>
    <parameterName value="@Exception"/>
    <dbType value="XML"/>
    <size value="4000"/>
    <layout type="log4net.Layout.XMLLayout" value="%exception" />
  </parameter>
  <filter type="log4net.Filter.LevelRangeFilter">
    <levelMin value="INFO"/>
    <acceptOnMatch value="true"/>
  </filter>
  <filter type="log4net.Filter.DenyAllFilter"/>
</appender>

0 个答案:

没有答案