我有 log4net 设置来记录到数据库表。设置似乎没问题(我可以将日志记录到数据库中。)
但是,如果我将日志设置为 buffer <bufferSize value="30" />
,那么日志(正确地)会等待 30 条日志,然后再将它们持久化到数据库中。
但是,直到缓冲区已满,布局似乎才运行。
如果我正在记录字符串,那么这没什么大不了的,但是我将一个对象传递给我的记录器,然后我有一个自定义FormatXml
来序列化要记录的对象。我还有一个自定义对象,上面有一个布尔值,告诉我创建一个打开或关闭 xml 标记。
所有这一切都变得一团糟,因为调用了日志消息,然后更新了引用,然后达到了缓冲区限制,然后调用了布局(使用更新的引用)。
无论如何让 log4net 立即调用布局,然后缓冲数据库调用?
或者,我可以确保我的日志调用始终是“持久的”(即在进行日志调用之前进行序列化)。但我想先看看我是否可以让 lot4net 执行我想要的操作。)