无法监控安全事件日志
我有这样的代码:无法监控安全事件日志
{
EventLog ev = new EventLog("Security");
ev.EntryWritten += new EntryWrittenEventHandler(ev_EntryWritten);
}
static void ev_EntryWritten(object sender, EntryWrittenEventArgs e)
{
log_to_file("ev_EntryWritten");
}
但我得不到任何安全事件。该程序在XP SP3上作为Windows Service运行。我错过了什么?
确保您设置EnableRaisingEvents = true;
另外,我想运行它作为一个正常的应用程序之前,首先在服务帐户下运行它。确保它不是在LocalSystem下运行,而是为该服务定义的其他一些用户作为登录用户。你不会看到一个服务的GUI,所以Console.WriteLine
是无用的。
我实际上是将行写入日志文件。 – lzm 2011-03-17 20:05:32
@lzm:好的,无论哪种方式,我建议你设置一个单独的用户来运行你的服务,并验证EnableRaisingEvents设置为true或不起作用。 – 2011-03-17 20:12:01
是的,也请参阅http://msdn.microsoft.com/en-us/library/system.diagnostics.eventlog.entrywritten.aspx – 2011-03-17 20:12:45
在哪个帐户下运行? – 2011-03-17 19:58:47
@Henk Holterman:本地系统 – lzm 2011-03-17 20:03:55