我有一个服务应用程序,它通过 TCP 处理客户端请求并将任何事件写入 Windows EventLog。由于该应用程序预计会在短时间内为许多客户端和每个客户端的大量请求提供服务(假设每秒 1 到 50 个请求),因此我很想知道密集程度(CPU 方面和时间方面)和写入 Windows EventLog 的速度有多快?
更具体地说,连接、读取和写入EventLog 的操作有多密集?
不要那样做。事件日志不是为此类活动而设计的:
- 它有一个最大尺寸。
- 当达到最大大小时,它可以覆盖事件或停止日志记录,具体取决于设置(最近的 Windows 还可以存档日志并启动新日志)。如果事件未被覆盖,它们可能会填满您的分区或阻止其他应用程序,直到手动清除日志。
事件日志不是一般的日志记录工具。它应该用于报告错误、需要注意的情况,甚至是信息性报告,但不是必须将每一点信息都写在某个地方。如果您有大量日志需求,请使用您自己的日志设施并在事件日志中报告问题(如果有),并在需要时通过“指针”在其中查找详细数据。
注意:如果确实需要事件日志,至少应用程序应该使用自己的日志目的地,而不是标准目的地之一(应用程序或更糟糕的系统)。这样,它就不会影响其他应用程序的操作,也不会“隐藏”其他应用程序事件,从而使其事件“淹没”日志,从而在不查找其他事件的情况下更难以发现它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)