C# 日志不会转到在WindowsService中创建的CustomEventLog

C# 日志不会转到在WindowsService中创建的CustomEventLog,c#,.net,windows-services,installutil,custom-eventlog,C#,.net,Windows Services,Installutil,Custom Eventlog,我已经创建了一个windows服务,正在使用installutil安装它。在项目安装程序中,我正在创建自定义事件日志。但是,当我的服务启动时,我的所有日志都将进入“应用程序”,而不是cuustom日志。下面是我添加到安装程序中的代码 // Create Event Source and Event Log EventLogInstaller logInstaller = new EventLogInstaller(); logInstaller.Source = "MyServices

我已经创建了一个windows服务,正在使用installutil安装它。在项目安装程序中,我正在创建自定义事件日志。但是,当我的服务启动时,我的所有日志都将进入“应用程序”,而不是cuustom日志。下面是我添加到安装程序中的代码

// Create Event Source and Event Log     
EventLogInstaller logInstaller = new EventLogInstaller();
logInstaller.Source = "MyServices";
logInstaller.Log = "MyService Events";

Installers.Add(logInstaller);
此外,服务的名称是MyService.exe

当我卸载并重新安装服务时,我的安装失败,出现以下安装日志

正在运行事务处理安装

开始安装的安装阶段。见 D:\MyService\MyService\bin\Release\MyService.exe的日志文件 大会的进展。该文件位于 D:\MyService\MyService\bin\Release\MyService.InstallLog

安装阶段发生异常。 System.ArgumentException:上已存在源MyServices 本地计算机

安装的回滚阶段正在开始。看内容 的日志文件 D:\MyService\MyService\bin\Release\MyService.exe程序集的进度。 该文件位于 D:\MyService\MyService\bin\Release\MyService.InstallLog

回滚阶段已成功完成

已完成事务处理的安装

这就是我写日志的方式

WriteEntry(“MyServices”,logMessage,logType)


有人能帮我一下我做错了什么吗

添加新日志源时,必须重新启动服务器才能正确找到日志源

您还需要安装程序知道日志源是否已经存在


因此,在添加日志源之前,请快速检查日志源,并在第一次安装后重新启动服务器,以使日志源正常工作。

添加新日志源时,必须重新启动服务器才能正确找到日志源

您还需要安装程序知道日志源是否已经存在


因此,在添加日志源之前,请添加对日志源的快速检查,并在第一次安装后重新启动服务器,以使日志源正常工作。

如何在安装程序中检查日志源是否不存在?请使用EventLog.SourceExists(sourceName)如何在安装程序中检查日志源是否不存在?请使用EventLog.SourceExists(sourceName)