我创建了一个Windows服务,我使用installutil安装它。在项目安装程序中,我正在创建自定义事件日志。但是当我的服务启动时,我的所有日志都会转到"应用程序"而不是我的自定义日志。下面是我添加到安装程序的代码。
// 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 \发布\ MyService.InstallLog
安装阶段发生异常。 System.ArgumentException:源MyServices已存在于 本地电脑。
安装的回滚阶段正在开始。看到内容 的日志文件 D:\ MyService \ MyService \ bin \ Release \ MyService.exe程序集的进度。 该文件位于 d:\为MyService \为MyService \ BIN \发布\ MyService.InstallLog
回滚阶段已成功完成。
已完成交易安装。
这就是我写日志条目的方式;
EventLog.WriteEntry(" MyServices",logMessage,logType);
有人可以帮我解决我的错误。
答案 0 :(得分:0)
添加新的日志源时,必须重新启动服务器才能正确找到日志源。
您还需要安装人员知道日志源是否已经存在。
因此,在添加日志源之前添加一个快速检查日志源,并在第一次安装后重新启动服务器以使日志源工作。