我正在尝试为 Windows Server 2003 上的 Windows 服务创建自定义事件日志。我想将自定义日志命名为“(ML) 启动命令”。但是,当我将同名的注册表项添加到 HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\ 时,它会添加一个日志,但在事件查看器中查看时显示的事件与应用程序日志中的事件完全相同。
如果我向事件日志添加名为“(ML) Startup Commands 2”的注册表项,它会按预期显示空白事件日志。事实上,除了我想要的名称之外,任何其他名称都可以正常工作。
我已经在注册表中搜索了带有字符串“(ML)”的其他键,并删除了对此键名的所有其他引用,但是当我使用此名称创建键时,我继续在查看器中获得合并的结果。
我的问题是,我该如何修复服务器,以便我可以创建一个具有此名称的自定义事件日志,该日志仅显示来自我的应用程序的事件,而不是来自随 Windows 安装的默认应用程序事件日志的事件?
更新:
我重启了服务器,你不知道吗,日志开始正常运行。我在应用程序日志中收到一条奇怪的错误消息:
EventSystem 子系统正在抑制重复事件日志条目,持续时间为 86400 秒。抑制超时可以通过以下注册表项下名为 SuppressDuplicateDuration 的 REG_DWORD 值来控制:HKLM\Software\Microsoft\EventSystem\EventLog。
有关详细信息,请参阅帮助和支持中心 http://go.microsoft.com/fwlink/events.asp。
我只能希望这个错误并不意味着问题会在 86400 秒后再次出现。我想我得拭目以待了。
答案1
我还没有真正尝试过使用自定义事件日志。但我看到了您描述的问题,即相同的事件出现在多个日志中。发生这种情况的原因是事件日志是内存映射文件,如果所有事件日志的总大小大于 300MB,您将开始遇到问题。
参见本文第2页左右:
http://technet.microsoft.com/en-us/library/cc722385%28WS.10%29.aspx
>On Windows XP-based computers, member servers, and stand-alone servers, the
>combined size of the Application, Security, and System logs should not exceed 300 MBs.