很直接的问题。
我在 SQL Server 数据库上有一个表,其中有一个 DbType 为 XML 的字段。
我想使用 Log4Net 的 XML 布局格式写入该字段,而不编写自定义附加程序;使用内置的 AdoNetAppender。
下面是我当前的代码,但是,当它尝试记录时,它会插入一条记录,但“异常”字段将为空白。
(为了这个问题,我已经简化了代码;它曾经使用模式布局写入许多其他字段。我已经确认 Appender 确实工作并且 log4net 配置正确,我只是想记录使用 log4net 包含的 XMLLayout 到 XML 的 dbtype。)
<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>