EventLog перестает отправлять события EntryWritten после очистки - PullRequest
0 голосов
/ 03 ноября 2011

В Windows 2008 server, когда я очищаю EventLog, я прекращаю получать последующие события EntryWritten. Код, чтобы увидеть это очень просто:

private void eventLog1_EntryWritten(object sender, System.Diagnostics.EntryWrittenEventArgs e)
{
  label1.Text = "Got entry at " + DateTime.Now;
}

private void write_Click(object sender, EventArgs e)
{
  eventLog1.WriteEntry("Hello");
}

private void clear_Click(object sender, EventArgs e)
{
  eventLog1.Clear();
}


  this.eventLog1.EnableRaisingEvents = true;
  this.eventLog1.Log = "MY_LOG";
  this.eventLog1.Source = "Test";
  this.eventLog1.SynchronizingObject = this;
  this.eventLog1.EntryWritten += new System.Diagnostics.EntryWrittenEventHandler(this.eventLog1_EntryWritten);

На сервере Windows 2003 код работает должным образом. У кого-нибудь есть идея, почему это происходит, или как заставить это работать?

1 Ответ

1 голос
/ 08 ноября 2011

Microsoft подтвердила, что это ошибка в Windows 7 и 2008 Server.

Обходной путь - создать новый объект EventLog и добавить запись в журнал перед установкой EnableRaisingEvents в значение true.

Надеюсь, это будет исправлено ...

...