アプリケーションイベントログを使用して、プログラムで発生しているアクティビティに関するメッセージを書き込んでいます。ソースをアプリの名前に設定しました。私のプログラムに関連するイベントだけをクリアする機能をユーザーに提供したいと思います。これは可能ですか?ログ全体をクリアする方法しかわかりません。
.NET 2.0でc#を使用しています。
アプリケーションイベントログを使用して、プログラムで発生しているアクティビティに関するメッセージを書き込んでいます。ソースをアプリの名前に設定しました。私のプログラムに関連するイベントだけをクリアする機能をユーザーに提供したいと思います。これは可能ですか?ログ全体をクリアする方法しかわかりません。
.NET 2.0でc#を使用しています。
これは MSDN ライブラリのコードです。これが探しているものかどうかを確認してください。
string logName;
if (EventLog.SourceExists("MySource"))
{
// Find the log associated with this source.
logName = EventLog.LogNameFromSourceName("MySource", ".");
// Make sure the source is in the log we believe it to be in.
if (logName != "MyLog")
return;
// Delete the source and the log.
EventLog.DeleteEventSource("MySource");
EventLog.Delete(logName);
Console.WriteLine(logName + " deleted.");
}
else
{
// Create the event source to make next try successful.
EventLog.CreateEventSource("MySource", "MyLog");
}
また、私にとってうまくいったのは、アプリケーションのイベントソースを作成することでした
if (!EventLog.SourceExists(source))
{
EventLog.CreateEventSource(source, additional);
}
を使用してそこにすべての詳細を記録します
EventLog.WriteEntry(Source, error, EventLogEntryType.Error);
そして、ログをクリアしたいときに使用します
EventLog myEventLog = new EventLog(Constants.EventSource);
myEventLog.Clear();
これにより、ソースで記録したログのみがクリアされます。それが役に立てば幸い :)
イベント ログから特定のイベントをクリアすることはできません。すべてのイベントをクリアするか、何もクリアしないかです。