【发布时间】:2014-09-01 10:22:00
【问题描述】:
我正在将 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,
【问题讨论】:
-
@CodeCaster,根据您的 linq 看起来,仅删除大小约束将导致填充完整日志。听起来对吗?
-
对已接受答案的评论:“省略 size 元素对我不起作用,但是,将其设置为 -1 确实有效。”
标签: c# logging log4net log4net-configuration log4net-appender