c#-4.0 - 我的自定义 Windows 服务未写入我的自定义事件日志

标签 c#-4.0 windows-services custom-eventlog

我编写了一个自定义 Windows 服务,用于将数据写入自定义事件日志(在 Windows 事件查看器中)。

为了开发服务使用的业务逻辑,我创建了一个 Windows 窗体来模拟 Windows 服务的启动/停止方法。

当通过 Windows 窗体执行业务逻辑时,信息已成功写入我的自定义事件日志。但是,当我从自定义 Windows 服务运行相同的业务逻辑时,信息无法写入事件日志。

需要说明的是,我已经编写了一个库 (.dll),它可以执行我希望我的自定义服务执行的所有工作 - 包括创建/写入自定义事件日志。我的表单应用程序和我的 Windows 服务一样引用这个库。

以为问题是安全问题,我手动将自定义 Windows 服务设置为“以管理员身份登录”,但该服务仍然没有写入事件日志。

我什至不知道如何解决这个问题,因为我无法在运行服务时调试和单步执行代码(如果有调试服务的方法,请分享)。

对于可能导致我的服务无法写入事件日志的原因,您有什么想法吗?

最佳答案

我是这样用的。可能会有一些错别字。写在我的手机浏览器...

public class MyClass
{
   private EventLog eventLog = new EventLog();

   public void MyClass()
   {
      if (!System.Diagnostics.EventLog.SourceExists("MyLogSource"))
          System.Diagnostics.EventLog.CreateEventSource("MyLogSource", "MyLogSource_Log");
      eventLog.Source = "MyLogSource";
      eventLog.Log = "MyLogSource_Log";
   }

   private void MyLogWrite()
   {
       eventLog.WriteEntry(ex.ToString(), EventLogEntryType.Error);
   } 

}

关于c#-4.0 - 我的自定义 Windows 服务未写入我的自定义事件日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11213424/

相关文章:

c# - 如何在不降低质量的情况下从 C# 放大图像(任何类型)

java - JNDI .Net 实现

python - pywin32 Windows 服务不想发送请求状态

c# - AADSTS90102 : 'redirect_uri' value must be a valid absolute Uri

.net - 如何写入自定义 Windows 事件日志?

http - 使用 C# 从 url 获取 HTTP 响应

tomcat - apache tomcat 服务意外结束

.net-core - .Net Core EventLog - 覆盖未处理的异常写入应用程序日志

c# - 如何在 C# 中获取像 IDM Grabber 这样的特殊网站的文件和文件夹