我为 asp.net 项目错误日志记录创建事件日志。我通过在 regedit 中添加一个键,然后添加一个子键来做到这一点。
有时,我创建一个新的密钥和子密钥,而不是获得一个新的空事件日志,而是在事件查看器中看到它正在向我显示来自不同项目的日志。我无法找到何时发生这种情况的模式。
有没有人遇到过这样的问题?难道我做错了什么?
Leac
问问题
226 次
2 回答
3
您可能希望使用EventLog.CreateEventSource API 来执行此操作 - 它应该为您处理任何细节。
快速阅读文档似乎表明检查了前 8 个字符的唯一性……也许这就是您的问题所在?
编辑:从反射器,API 这样做......
- 检查无效字符(基于 Unicode 类别的“不可打印”、\、*、?)
- 检查创建的 reg 键是否 <= 254 个字符
- 检查源是否已经注册
- 检查日志名称是否未保留(AppEvent、SecEvent、SysEvent)
- 检查具有相同开头 8 个字符的另一个日志
- 检查日志名称不作为源存在
- 创建日志子键
- 使用默认值初始化日志子项(MaxSize = 524288,AutoBackupLogFiles = 9. Retention = 604800,File = %SystemRoot%\System32\config\logName.Substring(0, 8) + ".evt")
- 如果操作系统不是 > Windows NT 5.x(Vista 或更高版本),则在 logkey 上创建一个带有 logName 和源名称的多字符串值。或者,如果值存在,则将源名称附加到现有数组。
- 为源创建子项
- 使用默认值(EventMessageFile、ParameterMessageFile、CategoryMessageFile、CategoryCount)初始化源子项
于 2008-12-10T09:34:36.893 回答
-2
似乎问题在于我们已经创建了一个具有该名称的事件日志,即使我们删除了它,它也没有帮助。解决方案是创建一个具有不同名称的事件日志。
于 2009-02-15T08:34:36.663 回答