我正在尝试在Windows EventViewer中将一个条目写入我自己的应用程序日志。
这是我的代码
string source = "MatrixTaskLaunch";
string log = "MatrixTaskLauncher";
string logevent = errorList.ToString();
if (!EventLog.SourceExists(source))
EventLog.CreateEventSource(source, log);
EventLog.WriteEntry(source, logevent);
EventLog.WriteEntry(source, logevent,
EventLogEntryType.Warning, 234);
我第一次执行此代码时执行了行
EventLog.CreateEventSource(source, log);
并继续单步执行,然后每次跳过此行并执行剩余的行以完成。看起来不错!表明它已创建我的日志并将事件放入其中。
但是我无法在Win7事件查看器中看到我的日志。这些条目既不在Application中,也不在它们自己的日志中(即“MatrixTaskLauncher”)。
我错过了什么吗?在有人建议之前,我尝试在事件查看器中刷新日志!
答案 0 :(得分:1)
您的代码在Windows 7上适用于我。可能令人困惑的是,Windows事件查看器在运行时不会加载新创建的事件日志(无论您多久按一次F5或刷新)。重新启动Windows事件查看器后,加载先前创建的应用程序事件日志,它们将显示在插件中。
Windows事件日志由文件支持(至少在Windows 7中),可以在以下位置找到:
C:\ Windows \ System32下\ winevt \日志
在调用EventLog.CreateEventSource
后,支持文件出现在其他事件日志文件中的文件夹中: