NT事件日志单个消息大小

12

有人可以告诉我Windows NT日志消息的最大大小是多少吗?我知道可以从32 MB重置事件日志的最大日志大小。我对NT事件日志中单个消息所能容纳的内存感兴趣。

先行致谢。

3个回答

13

8
答案为32766个字符 ~ 32 KB。
以下是示例: 错误:日志条目字符串过长。写入事件日志的字符串长度不能超过32766个字符。

5
在Vista操作系统之前,32766个字符的限制被认为是正确的。实际限制因操作系统而异。请参见http://msdn.microsoft.com/EN-US/library/windows/desktop/aa363679.aspx中的“lpStrings”。对于Vista或更新版本,限制为31389个字符。尽管我发现在Windows 7上,31914个字符的限制也可以正常工作。 - Mike
4
我意识到我来晚了,但我相信另一个答案是发布了近11个月之后,而不是以前。 - Manuel

0
从Windows Vista开始,最大大小从32,766字节减少到31,839字节。
所以假设你想知道C#字符串的最大允许长度,你需要运行以下代码:
int EventViewerMaximumMessageLength = 31839 / sizeof(Char);
然后你的字符串将需要相应地进行修剪。
string trimmedEventLogMessage = message.Length > EventViewerMaximumMessageLength
                ? message.Substring(0, EventViewerMaximumMessageLength)
                : message;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接