EventLog.DeleteEventSource 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이벤트 로그에서 애플리케이션의 이벤트 원본 등록을 제거합니다.
오버로드
| 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
애플리케이션이 이벤트 로그 시스템에 등록된 이름입니다.
예외
예제
다음 예제에서는 로컬 컴퓨터에서 원본을 삭제합니다. 이 예제에서는 원본에서 로그를 확인한 다음 로그를 삭제합니다.
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
원본이 이미 로그에 매핑되어 새 로그에 다시 매핑된 경우 변경 내용을 적용하려면 컴퓨터를 다시 시작해야 합니다.