EventLog.Delete Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.