事件日志消息被另一个事件日志覆盖

时间:2008-12-10 09:27:03

标签: asp.net event-log

我为asp.net项目错误记录创建事件日志。我是通过在regedit中添加一个键,然后是一个子键来实现的 有时,我创建一个新的密钥和子密钥,而不是获取一个新的空事件日志,我在事件查看器中看到它向我显示来自不同项目的日志。我无法找到何时发生这种情况的模式 有人遇到过这样的问题吗?难道我做错了什么?

2 个答案:

答案 0 :(得分:3)

您可能希望使用EventLog.CreateEventSource API执行此操作 - 它应该为您处理任何细节。

通过文档快速阅读似乎表明前8个字符的特殊性已经过检查......也许这就是你的问题所在?

编辑:从Reflector,API执行此操作...

  1. 检查无效字符(“不可打印”基于Unicode类别,\,*,?)
  2. 检查创建的reg密钥是否为< = 254个字符
  3. 检查来源是否已注册
  4. 检查日志名称是否未保留(AppEvent,SecEvent,SysEvent)
  5. 使用相同的开头8个字符检查另一个日志
  6. 检查日志名称是否不存在作为源
  7. 创建日志子项
  8. 使用默认值初始化日志子项(MaxSize = 524288,AutoBackupLogFiles = 9. Retention = 604800,File =%SystemRoot%\ System32 \ config \ logName.Substring(0,8)+“。evt”)
  9. 如果OS不是> Windows NT 5.x(Vista或更高版本)在logkey上使用logName和source name创建多字符串值。或者,如果值存在,则将源名称附加到现有数组。
  10. 为源
  11. 创建子项
  12. 使用默认值初始化源子项(EventMessageFile,ParameterMessageFile,CategoryMessageFile,CategoryCount)

答案 1 :(得分:-2)

似乎问题是我们已经创建了一个具有该名称的事件日志,即使我们删除了它,它也没有帮助。解决方案是创建一个具有不同名称的事件日志。