EventLog.Delete 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
移除日志资源。
重载
Delete(String, String) |
从指定计算机上移除事件日志。 |
Delete(String) |
从本地计算机上移除事件日志。 |
Delete(String, String)
从指定计算机上移除事件日志。
public:
static void Delete(System::String ^ logName, System::String ^ machineName);
public static void Delete (string logName, string machineName);
[System.MonoNotSupported("remote machine is not supported")]
public static void Delete (string logName, string machineName);
static member Delete : string * string -> unit
[<System.MonoNotSupported("remote machine is not supported")>]
static member Delete : string * string -> unit
Public Shared Sub Delete (logName As String, machineName As String)
参数
- logName
- String
要删除的日志的名称。 可能的值包括:“应用程序”、“安全”、“系统”和指定计算机上的任何自定义事件日志。
- machineName
- String
要从中删除日志的计算机名称,对于本地计算机则为“.”。
- 属性
-
MonoNotSupportedAttribute
例外
示例
以下示例从指定计算机中删除日志。 该示例从其源确定日志。
备注
多个源可能会写入事件日志。 删除自定义日志之前,请确保没有其他源写入该日志。
#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
注解
如果要删除的日志位于远程计算机上,请使用此方法。 可以删除计算机上的任何日志,前提是你具有相应的注册表权限。
Delete从指定的计算机中删除由machineName
该日志指定的logName
日志。 如果只想删除注册到日志的源,请调用 DeleteEventSource。 如果只想删除日志条目,请调用 Clear。 Delete 并且 DeleteEventSource 是 static
方法,因此可以在类本身上调用它们。 无需创建调用任一方法的 EventLog 实例。
此方法首先删除保存日志内容的文件。 然后,它会访问注册表,并删除为该日志注册的所有事件源。 如果稍后重新创建日志,则应再次注册事件源(如果要重复使用)。 如果不在未指定日志名称的情况下注册事件源和其他用户写入事件源,则会在应用程序事件日志中创建事件源。 因此,以前能够将条目写入已删除并重新创建的日志的应用程序将改为写入应用程序日志,因为它现在包含事件源。
备注
重新创建事件日志可能是一个困难的过程。 避免删除任何系统创建的事件日志,例如应用程序日志。
通过调用删除日志以 Delete 自动删除注册到该日志的源。 这可以使其他应用程序使用该日志操作。
另请参阅
适用于
Delete(String)
从本地计算机上移除事件日志。
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)
参数
- logName
- String
要删除的日志的名称。 可能的值包括:“应用程序”、“安全性”、“系统”和计算机上的任何自定义事件日志。
例外
logName
为空字符串 ("") 或 null
。
示例
以下示例从本地计算机中删除日志。 该示例从其源确定日志。
备注
多个源可能会写入事件日志。 删除自定义日志之前,请确保没有其他源写入该日志。
#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
注解
如果要删除的日志位于本地计算机上,请使用此方法。 可以删除计算机上的任何日志,前提是你具有相应的注册表权限。
Delete 从本地计算机中删除指定的 logName
日志。 如果只想删除注册到日志的源,请调用 DeleteEventSource。 如果只想删除日志条目,请调用 Clear。 Delete 并且 DeleteEventSource 是 static
方法,因此可以在类本身上调用它们。 不需要创建调用任一方法的新实例 EventLog 。
该方法 Delete 首先删除保存日志内容的文件。 然后,它会访问注册表,并删除为该日志注册的所有事件源。 如果在以后重新创建日志,则应再次注册事件源(如果要重复使用它们)。 如果不注册事件源和其他用户写入事件源而不指定日志名称,则会在应用程序事件日志中创建事件源。 因此,以前能够将条目写入已删除和重新创建的日志的应用程序将改为写入应用程序日志,因为它现在包含事件源。
备注
重新创建事件日志可能是一个困难的过程。 避免删除系统创建的任何事件日志,例如应用程序日志。
通过调用删除日志以 Delete 自动删除注册到该日志的源。 这可以使其他应用程序使用该登录操作。