EventLog.DeleteEventSource Yöntem

Tanım

Bir uygulamanın olay kaynağı kaydını olay günlüğünden kaldırır.

Aşırı Yüklemeler

DeleteEventSource(String)

Olay kaynağı kaydını yerel bilgisayarın olay günlüğünden kaldırır.

DeleteEventSource(String, String)

Uygulamanın olay kaynağı kaydını belirtilen bilgisayardan kaldırır.

DeleteEventSource(String)

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

Olay kaynağı kaydını yerel bilgisayarın olay günlüğünden kaldırır.

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

Parametreler

source
String

Uygulamanın olay günlüğü sistemine kaydedildiği ad.

Özel durumlar

source parametresi yerel bilgisayarın kayıt defterinde yok.

-veya-

Olay günlüğü için kayıt defteri anahtarında yazma erişiminiz yok.

Örnekler

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

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

Yerel bilgisayardan kaydını Source kaldırmak için bu yöntemi kullanın. DeleteEventSource yerel bilgisayardaki kayıt defterine erişir ve uygulamanızın geçerli bir olay kaynağı olarak kaydını kaldırır.

Artık söz konusu günlüğe girdi yazmasına ihtiyacınız yoksa, bileşeninizi geçerli bir olay kaynağı olarak kaldırabilirsiniz. Örneğin, bileşeninizi bir günlükten diğerine değiştirmeniz gerekiyorsa bunu yapabilirsiniz. Bir kaynak aynı anda yalnızca bir günlüğe kaydedilebileceğinden, günlüğü değiştirmek için geçerli kaydı kaldırmanız gerekir.

DeleteEventSource yalnızca günlüğe kaydedilen kaynağı kaldırır. Günlüğün kendisini kaldırmak istiyorsanız çağrısı yapın Delete. 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.

Ç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.

Not

Bir kaynak zaten bir günlüğe eşlenmişse ve bunu yeni bir günlükle yeniden eşlerseniz, değişikliklerin etkili olması için bilgisayarı yeniden başlatmanız gerekir.

Ayrıca bkz.

Şunlara uygulanır

DeleteEventSource(String, String)

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

Uygulamanın olay kaynağı kaydını belirtilen bilgisayardan kaldırır.

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

Parametreler

source
String

Uygulamanın olay günlüğü sistemine kaydedildiği ad.

machineName
String

Kaydı kaldırılacak bilgisayarın adı veya yerel bilgisayar için "." .

Özel durumlar

machineName Parametre geçersiz.

-veya-

source Parametresi belirtilen bilgisayarın kayıt defterinde yok.

-veya-

Olay günlüğü için kayıt defteri anahtarında yazma erişiminiz yok.

source silinemiyor çünkü kayıt defterinde üst kayıt defteri anahtarı source aynı ada sahip bir alt anahtar içermiyor.

Örnekler

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

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

Uzak bir bilgisayardan kaydını Source kaldırmak için bu aşırı yüklemeyi kullanın. DeleteEventSource tarafından machineName belirtilen bilgisayardaki kayıt defterine erişir ve uygulamanızın geçerli bir olay kaynağı olarak kaydını kaldırır.

Artık söz konusu günlüğe girdi yazmasına ihtiyacınız yoksa, bileşeninizi geçerli bir olay kaynağı olarak kaldırabilirsiniz. Örneğin, bileşeninizi bir günlükten diğerine değiştirmeniz gerekiyorsa bunu yapabilirsiniz. Bir kaynak aynı anda yalnızca bir günlüğe kaydedilebileceğinden, günlüğü değiştirmek için geçerli kaydı kaldırmanız gerekir.

DeleteEventSource yalnızca günlüğe kaydedilen kaynağı kaldırır. Günlüğün kendisini kaldırmak istiyorsanız çağrısı yapın Delete. 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.

Ç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.

Not

Bir kaynak zaten bir günlüğe eşlenmişse ve bunu yeni bir günlükle yeniden eşlerseniz, değişikliklerin etkili olması için bilgisayarı yeniden başlatmanız gerekir.

Ayrıca bkz.

Şunlara uygulanır