Bagikan melalui


EventLog.Delete Metode

Definisi

Menghapus sumber daya log.

Overload

Delete(String, String)

Menghapus log peristiwa dari komputer yang ditentukan.

Delete(String)

Menghapus log peristiwa dari komputer lokal.

Delete(String, String)

Sumber:
EventLog.cs
Sumber:
EventLog.cs
Sumber:
EventLog.cs

Menghapus log peristiwa dari komputer yang ditentukan.

public:
 static void Delete(System::String ^ logName, System::String ^ machineName);
public static void Delete (string logName, string machineName);
static member Delete : string * string -> unit
Public Shared Sub Delete (logName As String, machineName As String)

Parameter

logName
String

Nama log yang akan dihapus. Nilai yang mungkin termasuk: Aplikasi, Keamanan, Sistem, dan log peristiwa kustom apa pun di komputer yang ditentukan.

machineName
String

Nama komputer untuk menghapus log dari, atau "." untuk komputer lokal.

Pengecualian

logName adalah string kosong ("") atau null.

-atau-

machineName bukan nama komputer yang valid.

Kunci registri untuk log kejadian tidak dapat dibuka pada komputer yang ditentukan.

-atau-

Log tidak ada pada komputer yang ditentukan.

Log kejadian tidak berhasil dibersihkan.

-atau-

Log tidak dapat dibuka. Kode galat Windows tidak tersedia.

Contoh

Contoh berikut menghapus log dari komputer yang ditentukan. Contoh menentukan log dari sumbernya.

Catatan

Lebih dari satu sumber mungkin menulis ke log peristiwa. Sebelum menghapus log kustom, pastikan tidak ada sumber lain yang menulis ke log tersebut.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
   String^ logName;
   if ( EventLog::SourceExists( "MySource", "MyMachine") )
   {
      
      // Find the log associated with this source.    
      logName = EventLog::LogNameFromSourceName( "MySource", "MyMachine" );
      // Make sure the source is in the log we believe it to be in
      if (logName != "MyLog")
          return -1;
      // Delete the source and the log.
      EventLog::DeleteEventSource( "MySource", "MyMachine" );
      EventLog::Delete( logName, "MyMachine" );
      Console::WriteLine( "{0} deleted.", logName );
   }
   else
        {
            // Create the event source to make next try successful.
            EventSourceCreationData^ mySourceData = gcnew EventSourceCreationData("MySource", "MyLog");
            mySourceData->MachineName = "MyMachine";
            EventLog::CreateEventSource(mySourceData);
        }
}
using System;
using System.Diagnostics;
using System.Threading;

class MySample
{
    public static void Main()
    {
        string logName;

        if (EventLog.SourceExists("MySource", "MyMachine"))
        {
            // Find the log associated with this source.
            logName = EventLog.LogNameFromSourceName("MySource", "MyMachine");
            // 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", "MyMachine");
            EventLog.Delete(logName, "MyMachine");

            Console.WriteLine(logName + " deleted.");
        }
        else
        {
            // Create the event source to make next try successful.
            EventSourceCreationData mySourceData = new EventSourceCreationData("MySource", "MyLog");
            mySourceData.MachineName = "MyMachine";
            EventLog.CreateEventSource(mySourceData);
        }
    }
}
Option Explicit On
Option Strict On

Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        Dim logName As String

        If EventLog.SourceExists("MySource", "MyMachine") Then
            ' Find the log associated with this source.    
            logName = EventLog.LogNameFromSourceName("MySource", "MyMachine")
            ' Make sure the source is in the log we believe it to be in
            If (logName <> "MyLog") Then
                Return
            End If
            ' Delete the source and the log.
            EventLog.DeleteEventSource("MySource", "MyMachine")
            EventLog.Delete(logName, "MyMachine")

            Console.WriteLine((logName & " deleted."))
        Else
            ' Create the event source to make next try successful.
            Dim mySourceData As New EventSourceCreationData("MySource", "MyLog")
            mySourceData.MachineName = "MyMachine"
            EventLog.CreateEventSource(mySourceData)
        End If
    End Sub
End Class

Keterangan

Gunakan metode ini ketika log yang ingin Anda hapus ada di komputer jarak jauh. Anda dapat menghapus log apa pun di komputer, asalkan Anda memiliki izin registri yang sesuai.

Delete menghapus log yang ditentukan oleh logName dari komputer yang ditentukan oleh machineName. Jika Anda hanya ingin menghapus sumber yang terdaftar ke log, panggil DeleteEventSource. Jika Anda hanya ingin menghapus entri log, panggil Clear. Delete dan DeleteEventSource merupakan static metode, sehingga dapat dipanggil pada kelas itu sendiri. Tidak perlu membuat instans EventLog untuk memanggil salah satu metode.

Metode ini terlebih dahulu menghapus file yang menyimpan konten log. Kemudian mengakses registri dan menghapus semua sumber peristiwa yang terdaftar untuk log tersebut. Jika Anda membuat ulang log di kemudian hari, Anda harus mendaftarkan sumber peristiwa lagi, jika mereka akan digunakan kembali. Jika Anda tidak mendaftarkan sumber peristiwa dan pengguna lain menulis ke sumber peristiwa tanpa menentukan nama log, sumber peristiwa akan dibuat di log peristiwa Aplikasi. Oleh karena itu, aplikasi yang sebelumnya dapat menulis entri ke log yang Anda hapus dan buat ulang akan menulis ke log Aplikasi sebagai gantinya, karena sekarang berisi sumber peristiwa.

Catatan

Membuat ulang log peristiwa bisa menjadi proses yang sulit. Hindari menghapus salah satu log peristiwa yang dibuat sistem, seperti log Aplikasi.

Menghapus log melalui panggilan untuk Delete secara otomatis menghapus sumber yang terdaftar ke log tersebut. Ini dapat membuat aplikasi lain menggunakan log tersebut tidak berfungsi.

Lihat juga

Berlaku untuk

Delete(String)

Sumber:
EventLog.cs
Sumber:
EventLog.cs
Sumber:
EventLog.cs

Menghapus log peristiwa dari komputer lokal.

public:
 static void Delete(System::String ^ logName);
public static void Delete (string logName);
static member Delete : string -> unit
Public Shared Sub Delete (logName As String)

Parameter

logName
String

Nama log yang akan dihapus. Nilai yang mungkin termasuk: Aplikasi, Keamanan, Sistem, dan log peristiwa kustom apa pun di komputer.

Pengecualian

logName adalah string kosong ("") atau null.

Kunci registri untuk log kejadian tidak dapat dibuka pada komputer lokal.

-atau-

Log tidak ada pada komputer lokal.

Log kejadian tidak berhasil dibersihkan.

-atau-

Log tidak dapat dibuka. Kode galat Windows tidak tersedia.

Contoh

Contoh berikut menghapus log dari komputer lokal. Contoh menentukan log dari sumbernya.

Catatan

Lebih dari satu sumber mungkin menulis ke log peristiwa. Sebelum menghapus log kustom, pastikan tidak ada sumber lain yang menulis ke log tersebut.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
   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 -1;
      // Delete the source and the log.
      EventLog::DeleteEventSource( "MySource" );
      EventLog::Delete( logName );
      Console::WriteLine( "{0} deleted.", logName );
   }
   else
        {
            // Create the event source to make next try successful.
            EventLog::CreateEventSource("MySource", "MyLog");
        }
}
using System;
using System.Diagnostics;
using System.Threading;

class MySample1
{
    public static void Main()
    {
        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");
        }
    }
}
Option Explicit On
Option Strict On

Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        Dim logName As String

        If EventLog.SourceExists("MySource") Then
            ' 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") Then
                Return
            End If
            ' 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")
        End If
    End Sub
End Class

Keterangan

Gunakan metode ini ketika log yang ingin Anda hapus ada di komputer lokal. Anda dapat menghapus log apa pun di komputer, asalkan Anda memiliki izin registri yang sesuai.

Delete menghapus log yang ditentukan oleh logName dari komputer lokal. Jika Anda hanya ingin menghapus sumber yang terdaftar ke log, panggil DeleteEventSource. Jika Anda hanya ingin menghapus entri log, panggil Clear. Delete dan DeleteEventSource merupakan static metode, sehingga dapat dipanggil pada kelas itu sendiri. Tidak perlu membuat instans EventLog baru untuk memanggil salah satu metode.

Metode ini Delete terlebih dahulu menghapus file yang menyimpan konten log. Kemudian mengakses registri dan menghapus semua sumber peristiwa yang terdaftar untuk log tersebut. Jika Anda membuat ulang log di kemudian hari, Anda harus mendaftarkan sumber peristiwa lagi, jika mereka akan digunakan kembali. Jika Anda tidak mendaftarkan sumber peristiwa dan pengguna lain menulis ke sumber peristiwa tanpa menentukan nama log, sumber peristiwa akan dibuat di log peristiwa Aplikasi. Oleh karena itu, aplikasi yang sebelumnya dapat menulis entri ke log yang Anda hapus dan buat ulang akan menulis ke log Aplikasi sebagai gantinya, karena sekarang berisi sumber peristiwa.

Catatan

Membuat ulang log peristiwa bisa menjadi proses yang sulit. Hindari menghapus salah satu log peristiwa yang dibuat sistem, seperti log Aplikasi.

Menghapus log melalui panggilan untuk Delete secara otomatis menghapus sumber yang terdaftar ke log tersebut. Ini dapat membuat aplikasi lain menggunakan log tersebut tidak berfungsi.

Lihat juga

Berlaku untuk