我将 Log4Net 事件插入 SQL 数据库。Message 和 Exception 字段都是 8000 个字符,但偶尔会出现超过 8000 个字符的事件,并且数据会被截断。
是否有任何可配置的方式让它将事件分成多行?如果没有,我目前正在考虑实现我自己的 ILog,它会自动处理将日志记录事件分块,这样我就不会得到任何截断的数据。有没有人有更好的主意?
编辑 - 记录配置/数据库列定义
这是我当前的参数配置:
<parameter>
<parameterName value="@message"/>
<dbType value="String"/>
<size value="8000"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message"/>
</layout>
</parameter>
<parameter>
<parameterName value="@exception"/>
<dbType value="String"/>
<size value="8000"/>
<layout type="log4net.Layout.ExceptionLayout"/>
</parameter>
数据库表定义如下:
[Message] [nvarchar](max) NULL,
[Exeception] [ntext] NULL,