3

アプリケーションイベントログを使用して、プログラムで発生しているアクティビティに関するメッセージを書き込んでいます。ソースをアプリの名前に設定しました。私のプログラムに関連するイベントだけをクリアする機能をユーザーに提供したいと思います。これは可能ですか?ログ全体をクリアする方法しかわかりません。

.NET 2.0でc#を使用しています。

4

2 に答える 2

1

これは 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();

これにより、ソースで記録したログのみがクリアされます。それが役に立てば幸い :)

于 2013-12-21T06:41:51.517 に答える
1

イベント ログから特定のイベントをクリアすることはできません。すべてのイベントをクリアするか、何もクリアしないかです。

于 2010-02-23T14:26:34.977 に答える