如何用事件源编写Windows日志事件

时间:2014-10-29 20:43:45

标签: delphi delphi-xe2 delphi-xe

我正在尝试编写Windows日志事件。

我看了这个answer,并尝试使用它,但遇到了同样的问题reported here "The description for Event ID 1 from source PLCHIDSrv cannot be found..."

我尝试this solution但不知道如何在Delphi中实现此代码

var data = new EventSourceCreationData("yourApp", "Application");
data.MessageResourceFile = pathToYourMessageFile;
EventLog.CreateEventSource(data);

1 个答案:

答案 0 :(得分:9)

您收到该错误是因为您没有将事件源添加到Windows注册表中。

检查MSDN Documentation

  

您可以使用默认的应用程序日志,而无需向注册表添加事件源。但是,除非您注册事件源并提供消息文件,否则事件查看器将无法将事件标识符代码映射到消息字符串。

同一个链接包含一个带有C ++代码的示例,可以很容易地将其转换为Delphi。

<强>更新

我刚刚发现这篇文章Writing an event logger with Delphi 2010,其中显示了如何将事件源添加到注册表并写入事件日志。