我们最近将生产箱从Windows 2003服务器升级到Windows 2008.除事件记录外,一切正常.我们为每条消息记录最多32000字节的数据.
在2008服务器上,如果字符数大于31885,事件记录将失败.这是Windows 2008 R2服务器上的新限制吗?
在Win 2003服务器上,我能够为每个日志条目记录32000字节的数据.
引用该ReportEvent函数的文档:
pStrings [输入]
指向包含空终止字符串数组的缓冲区的指针,这些字符串在事件查看器向用户显示字符串之前合并到消息中。即使 wNumStrings 为零,此参数也必须是有效的指针(或 NULL)。每个字符串的长度不得超过 31,839 个字符。
在 Windows Vista 之前:每个字符串限制为 32K 字符。
所以回答这个问题:
是的,可以记录的允许字符串的长度在正确的时间范围内发生变化。解决方案是分解事件日志条目、缩小条目并将详细信息存储在其他位置,或者将某些内容存储在事件的二进制数据字段中。