Aracılığıyla paylaş


EventLog.Delete Yöntem

Tanım

Günlük kaynağını kaldırır.

Aşırı Yüklemeler

Delete(String, String)

Belirtilen bilgisayardan olay günlüğünü kaldırır.

Delete(String)

Olay günlüğünü yerel bilgisayardan kaldırır.

Delete(String, String)

Kaynak:
EventLog.cs
Kaynak:
EventLog.cs
Kaynak:
EventLog.cs

Belirtilen bilgisayardan olay günlüğünü kaldırır.

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)

Parametreler

logName
String

Silinecek günlüğün adı. Olası değerler şunlardır: Uygulama, Güvenlik, Sistem ve belirtilen bilgisayardaki tüm özel olay günlükleri.

machineName
String

Günlüğün silineceği bilgisayarın adı veya yerel bilgisayar için "." .

Özel durumlar

logName boş bir dize ("") veya null.

-veya-

machineName geçerli bir bilgisayar adı değil.

Olay günlüğünün kayıt defteri anahtarı belirtilen bilgisayarda açılamadı.

-veya-

Günlük belirtilen bilgisayarda yok.

Olay günlüğü başarıyla temizlenmedi.

-veya-

Günlük açılamıyor. Windows hata kodu kullanılamıyor.

Örnekler

Aşağıdaki örnek, belirtilen bilgisayardan bir günlüğü siler. Örnek, günlüğü kaynağından belirler.

Not

Bir olay günlüğüne birden fazla kaynak yazabilir. Özel günlüğü silmeden önce, bu günlüğe yazan başka kaynak olmadığından emin olun.

#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

Açıklamalar

Silmek istediğiniz günlük uzak bir bilgisayarda olduğunda bu yöntemi kullanın. Uygun kayıt defteri izinlerine sahip olmanız koşuluyla bilgisayardaki tüm günlükleri silebilirsiniz.

Delete tarafından belirtilen günlüğü tarafından logNamemachineNamebelirtilen bilgisayardan kaldırır. Yalnızca günlüğe kayıtlı kaynağı silmek istiyorsanız çağrısı yapın DeleteEventSource. Yalnızca günlük girdilerini silmek istiyorsanız çağrısı yapın Clear. Delete ve DeleteEventSource yöntemleridir static , bu nedenle sınıfın kendisinde çağrılabilirler. her iki yöntemi çağırmak için bir örneği EventLog oluşturmak gerekli değildir.

Bu yöntem önce günlüğün içeriğini tutan dosyayı siler. Ardından kayıt defterine erişir ve bu günlük için kaydedilen tüm olay kaynaklarını kaldırır. Günlüğü daha sonraki bir noktada yeniden oluşturursanız, yeniden kullanılacaksa olay kaynaklarını yeniden kaydetmeniz gerekir. Olay kaynaklarını kaydetmezseniz ve diğer kullanıcılar günlük adı belirtmeden bir olay kaynağına yazarsa, olay kaynağı Uygulama olay günlüğünde oluşturulur. Bu nedenle, daha önce sildiğiniz ve yeniden oluşturduğunuz günlüğe girdiler yazabilen uygulamalar, artık olay kaynağını içerdiğinden uygulama günlüğüne yazar.

Not

Olay günlüğünü yeniden oluşturmak zor bir işlem olabilir. Uygulama günlüğü gibi sistem tarafından oluşturulan olay günlüklerinden herhangi birini silmekten kaçının.

Çağrı aracılığıyla bir günlüğün silinmesi, bu günlüğe Delete kayıtlı kaynakları otomatik olarak siler. Bu, söz konusu günlüğü kullanan diğer uygulamaların çalışmamalarını sağlayabilir.

Ayrıca bkz.

Şunlara uygulanır

Delete(String)

Kaynak:
EventLog.cs
Kaynak:
EventLog.cs
Kaynak:
EventLog.cs

Olay günlüğünü yerel bilgisayardan kaldırır.

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)

Parametreler

logName
String

Silinecek günlüğün adı. Olası değerler şunlardır: Uygulama, Güvenlik, Sistem ve bilgisayardaki tüm özel olay günlükleri.

Özel durumlar

logName boş bir dize ("") veya null.

Olay günlüğünün kayıt defteri anahtarı yerel bilgisayarda açılamadı.

-veya-

Günlük yerel bilgisayarda yok.

Olay günlüğü başarıyla temizlenmedi.

-veya-

Günlük açılamıyor. Windows hata kodu kullanılamıyor.

Örnekler

Aşağıdaki örnek, yerel bilgisayardan bir günlüğü siler. Örnek, günlüğü kaynağından belirler.

Not

Bir olay günlüğüne birden fazla kaynak yazabilir. Özel günlüğü silmeden önce, bu günlüğe yazan başka kaynak olmadığından emin olun.

#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

Açıklamalar

Silmek istediğiniz günlük yerel bilgisayarda olduğunda bu yöntemi kullanın. Uygun kayıt defteri izinlerine sahip olmanız koşuluyla bilgisayardaki tüm günlükleri silebilirsiniz.

Delete tarafından logName belirtilen günlüğü yerel bilgisayardan kaldırır. Yalnızca günlüğe kayıtlı kaynağı silmek istiyorsanız çağrısı yapın DeleteEventSource. Yalnızca günlük girdilerini silmek istiyorsanız çağrısı yapın Clear. Delete ve DeleteEventSource yöntemleridir static , bu nedenle sınıfın kendisinde çağrılabilirler. her iki yöntemi çağırmak için yeni bir örneği EventLog oluşturmak gerekli değildir.

Delete yöntemi önce günlüğün içeriğini tutan dosyayı siler. Ardından kayıt defterine erişir ve bu günlük için kaydedilen tüm olay kaynaklarını kaldırır. Günlüğü daha sonraki bir noktada yeniden oluşturursanız, yeniden kullanılacaksa olay kaynaklarını yeniden kaydetmeniz gerekir. Olay kaynaklarını kaydetmezseniz ve diğer kullanıcılar günlük adı belirtmeden bir olay kaynağına yazarsa, olay kaynağı Uygulama olay günlüğünde oluşturulur. Bu nedenle, daha önce sildiğiniz ve yeniden oluşturduğunuz günlüğe girdiler yazabilen uygulamalar, artık olay kaynağını içerdiğinden uygulama günlüğüne yazar.

Not

Olay günlüğünü yeniden oluşturmak zor bir işlem olabilir. Uygulama günlüğü gibi sistem tarafından oluşturulan olay günlüklerinden herhangi birini silmekten kaçının.

Çağrı aracılığıyla bir günlüğün silinmesi, bu günlüğe Delete kayıtlı kaynakları otomatik olarak siler. Bu, söz konusu günlüğü kullanan diğer uygulamaların çalışmamalarını sağlayabilir.

Ayrıca bkz.

Şunlara uygulanır