EventLog.DeleteEventSource 메서드

정의

이벤트 로그에서 애플리케이션의 이벤트 원본 등록을 제거합니다.

오버로드

Name Description
DeleteEventSource(String)

로컬 컴퓨터의 이벤트 로그에서 이벤트 원본 등록을 제거합니다.

DeleteEventSource(String, String)

지정된 컴퓨터에서 애플리케이션의 이벤트 원본 등록을 제거합니다.

DeleteEventSource(String)

로컬 컴퓨터의 이벤트 로그에서 이벤트 원본 등록을 제거합니다.

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)

매개 변수

source
String

애플리케이션이 이벤트 로그 시스템에 등록된 이름입니다.

예외

매개 변수가 source 로컬 컴퓨터의 레지스트리에 없습니다.

-또는-

이벤트 로그에 대한 레지스트리 키에 대한 쓰기 권한이 없습니다.

예제

다음 예제에서는 로컬 컴퓨터에서 원본을 삭제합니다. 이 예제에서는 원본에서 로그를 확인한 다음 로그를 삭제합니다.

Note

둘 이상의 원본이 이벤트 로그에 쓸 수 있습니다. 사용자 지정 로그를 삭제하기 전에 해당 로그에 쓰는 다른 원본이 없는지 확인합니다.

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

설명

이 메서드를 사용하여 로컬 컴퓨터에서 등록을 Source 제거합니다. DeleteEventSource 는 로컬 컴퓨터의 레지스트리에 액세스하고 애플리케이션 등록을 유효한 이벤트 원본으로 제거합니다.

더 이상 해당 로그에 항목을 쓸 필요가 없는 경우 구성 요소를 유효한 이벤트 원본으로 제거할 수 있습니다. 예를 들어 구성 요소를 한 로그에서 다른 로그로 변경해야 하는 경우 이 작업을 수행할 수 있습니다. 원본은 한 번에 하나의 로그에만 등록할 수 있으므로 로그를 변경하려면 현재 등록을 제거해야 합니다.

DeleteEventSource 는 로그에 등록된 원본만 제거합니다. 로그 자체를 제거하려면 .를 호출 Delete합니다. 로그 항목만 삭제하려면 .를 호출 Clear합니다. Delete 메서드 DeleteEventSource 이므로 static 클래스 자체에서 호출할 수 있습니다. 두 메서드 중 하나를 호출할 인스턴스 EventLog 를 만들 필요는 없습니다.

호출을 통해 로그를 삭제하면 Delete 해당 로그에 등록된 원본이 자동으로 삭제됩니다. 이렇게 하면 해당 로그를 사용하는 다른 애플리케이션이 작동하지 않습니다.

Note

원본이 이미 로그에 매핑되어 새 로그에 다시 매핑된 경우 변경 내용을 적용하려면 컴퓨터를 다시 시작해야 합니다.

추가 정보

적용 대상

DeleteEventSource(String, String)

지정된 컴퓨터에서 애플리케이션의 이벤트 원본 등록을 제거합니다.

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)

매개 변수

source
String

애플리케이션이 이벤트 로그 시스템에 등록된 이름입니다.

machineName
String

등록을 제거할 컴퓨터의 이름 또는 로컬 컴퓨터의 경우 "."입니다.

예외

machineName 매개 변수가 잘못되었습니다.

-또는-

매개 변수가 source 지정된 컴퓨터의 레지스트리에 없습니다.

-또는-

이벤트 로그에 대한 레지스트리 키에 대한 쓰기 권한이 없습니다.

source 는 레지스트리에서 상위 레지스트리 키에 source 같은 이름의 하위 키가 포함되어 있지 않으므로 삭제할 수 없습니다.

예제

다음은 지정된 컴퓨터에서 원본을 삭제하는 예제입니다. 이 예제에서는 원본에서 로그를 확인한 다음 로그를 삭제합니다.

Note

둘 이상의 원본이 이벤트 로그에 쓸 수 있습니다. 사용자 지정 로그를 삭제하기 전에 해당 로그에 쓰는 다른 원본이 없는지 확인합니다.

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

설명

이 오버로드를 사용하여 원격 컴퓨터에서 등록을 Source 제거합니다. DeleteEventSource 에서 지정 machineName 한 컴퓨터의 레지스트리에 액세스하고 애플리케이션 등록을 유효한 이벤트 원본으로 제거합니다.

더 이상 해당 로그에 항목을 쓸 필요가 없는 경우 구성 요소를 유효한 이벤트 원본으로 제거할 수 있습니다. 예를 들어 구성 요소를 한 로그에서 다른 로그로 변경해야 하는 경우 이 작업을 수행할 수 있습니다. 원본은 한 번에 하나의 로그에만 등록할 수 있으므로 로그를 변경하려면 현재 등록을 제거해야 합니다.

DeleteEventSource 는 로그에 등록된 원본만 제거합니다. 로그 자체를 제거하려면 .를 호출 Delete합니다. 로그 항목만 삭제하려면 .를 호출 Clear합니다. Delete 메서드 DeleteEventSource 이므로 static 클래스 자체에서 호출할 수 있습니다. 두 메서드 중 하나를 호출할 인스턴스 EventLog 를 만들 필요는 없습니다.

호출을 통해 로그를 삭제하면 Delete 해당 로그에 등록된 원본이 자동으로 삭제됩니다. 이렇게 하면 해당 로그를 사용하는 다른 애플리케이션이 작동하지 않습니다.

Note

원본이 이미 로그에 매핑되어 새 로그에 다시 매핑된 경우 변경 내용을 적용하려면 컴퓨터를 다시 시작해야 합니다.

추가 정보

적용 대상