Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# log4net通过异常参数向数据库表添加完整堆栈跟踪_C#_Asp.net_Stored Procedures_Log4net_Adonetappender - Fatal编程技术网

C# log4net通过异常参数向数据库表添加完整堆栈跟踪

C# log4net通过异常参数向数据库表添加完整堆栈跟踪,c#,asp.net,stored-procedures,log4net,adonetappender,C#,Asp.net,Stored Procedures,Log4net,Adonetappender,对于log4net配置。。这是我的参数设置 <parameter> <parameterName value="@exception"/> <dbType value="String"/> <size value="8000"/> <layout type="log4net.Layout.ExceptionLayout"/> </parameter> <

对于log4net配置。。这是我的参数设置

    <parameter>
      <parameterName value="@exception"/>
      <dbType value="String"/>
      <size value="8000"/>
      <layout type="log4net.Layout.ExceptionLayout"/>
    </parameter>
  </appender>
存储的进程写入表“MYTable”,该表的“Exception”列长度为VARCHAR 8000

我可以在“MYTable”中创建条目,但在创建条目后,该条目不包含整个异常堆栈跟踪。看起来堆栈跟踪被截断,最多只包含1700个字符

在log4net中将完整堆栈跟踪记录到数据库的最佳方法是什么

我错过了什么

请帮忙

谢谢

我通常使用这个(我有一个nvarchar(max)字段):



但是,我认为,如果您删除size参数或将其设置为-1,那么它也应该适用于您的配置。

请注意:省略size元素对我不起作用,但将其设置为-1确实起作用。想想看,这两种选择都不适合我。我的消息列被截断。有什么想法吗?
<commandText value="dbo.MyInsertProcName"/>
<commandType value="StoredProcedure"/>
ALTER PROCEDURE [dbo].[MyInsertProcName]        
(    
    @log_date               DATETIME        
    , @log_level            VARCHAR(50)        
    , @logger               VARCHAR(255)        
    , @message              VARCHAR(4000)        
    , @exception            VARCHAR(MAX) 
....
<parameter>
  <parameterName value="@exception"/>
  <dbType value="String"/>
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%exception" />
  </layout>
</parameter>