为什么我的Windows服务日志未显示在应用程序事件日志中?

时间:2009-05-19 23:55:08

标签: c# windows-services

我使用Windows服务项目模板创建了一系列C#Windows服务。我已经能够正确安装它,并且没有任何问题地启动和停止它。

然而,当我去我的事件查看器看到它的开始和停止的日志时,我什么都没得到。

以下是我正在测试的示例代码:

public MyService()
    {
        InitializeComponent();

        ServiceName = "My Data Service";
        EventLog.Log = "Application";
    }

    protected override void OnStart(string[] args)
    {
        EventLog.WriteEntry("Starting My Data Service");
    }

    protected override void OnStop()
    {
        EventLog.WriteEntry("Ending MyData Service");
    }

另外,我的操作系统是Windows Vista。

2 个答案:

答案 0 :(得分:4)

如果您希望它使用

登录默认日志
EventLog.WriteEntry("Starting My Data Service", EventLogEntryType.Information);

当然,您必须确保该服务在具有足够权限的帐户下运行,以便写入日志并“作为服务运行”。

在SO Best Way to write to the event log

上找到此示例

以下是您指定源代码的示例,而不是显示为.NET Runtime ... MSDN Example

答案 1 :(得分:2)

EventLog需要创建EventSource才能写入。