【问题标题】:How does the window service write message to event log correctly?窗口服务如何正确地将消息写入事件日志?
【发布时间】:2010-12-27 09:03:19
【问题描述】:

我编写了一个 Windows 服务,使用事件日志进行日志记录。它已成功将消息写入事件日志,但消息描述已附加以下文本:

事件 ID ( ... ) 的描述 源 ( ... ) 不能 成立。本地计算机可能没有 必要的注册信息或 用于显示消息的消息 DLL 文件 从远程计算机。你可能 能够使用 /AUXSOURCE= 标志来 检索此描述;见帮助 并支持详细信息。

我在 .Net 中使用 C# 和 EventLog 类进行日志记录。如何删除该文本?

【问题讨论】:

  • 您的服务是在同一台机器上运行还是在远程机器上运行?
  • 也许贴出你用来编写事件的代码行?

标签: c# .net windows-services event-log


【解决方案1】:

您是否使用了 ServiceBase 类中可用的 EventLog?您是否使用 installutil.exe 安装该服务?此方法正确安装事件源。

【讨论】:

  • 我在 System.Diagnostic 命名空间中使用 EventLog。微软在 MSDN 上对 EventLog 的指导如下:“......您可以使用 EventLogInstaller 或使用 CreateEventSource 方法配置新源。您必须在计算机上拥有管理权限才能创建新的事件源......”所以我使用了 CreateEventSource() 方法而不是 EventLogInstaller。
  • 好吧,我不知道,但是在您的服务类中,也应该有一个名为 EventLog 的属性。使用它是一个好习惯。 InstallUtil 也知道此属性,并将为您创建源。它已被证明有效。
  • 我的问题不是windows服务工作与否,而是在事件查看器中我的事件源的描述条目中附加了奇怪的文本。
  • 我知道,我怀疑事件源没有正确安装,这就是导致该消息的原因。这就是为什么我建议你使用预定义的事件源。
猜你喜欢
  • 2020-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-23
  • 2019-03-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多