EventLog.Delete メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ログ リソースを削除します。
オーバーロード
Delete(String, String) |
指定したコンピューターからイベント ログを削除します。 |
Delete(String) |
ローカル コンピューターからイベント ログを削除します。 |
Delete(String, String)
- ソース:
- EventLog.cs
- ソース:
- EventLog.cs
- ソース:
- EventLog.cs
指定したコンピューターからイベント ログを削除します。
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)
パラメーター
- logName
- String
削除するログの名前。 指定できる値は、アプリケーション、セキュリティ、システム、および指定したコンピューター上の任意のカスタム イベント ログです。
- machineName
- String
ログを削除するコンピューターの名前。ローカル コンピューターの場合は "."。
例外
例
次の例では、指定したコンピューターからログを削除します。 この例では、ソースからのログを決定します。
注意
複数のソースがイベント ログに書き込む場合があります。 カスタム ログを削除する前に、そのログに書き込む他のソースがないことを確認してください。
#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によって指定されたログを、 でlogName
machineName
指定されたコンピューターから削除します。 ログに登録されているソースのみを削除する場合は、 を呼び出します DeleteEventSource。 ログ エントリのみを削除する場合は、 を呼び出します Clear。 Delete と DeleteEventSource は static
メソッドであるため、クラス自体で呼び出すことができます。 どちらのメソッドも呼び出すために の EventLog インスタンスを作成する必要はありません。
このメソッドは、ログの内容を保持するファイルを最初に削除します。 その後、レジストリにアクセスし、そのログに登録されているすべてのイベント ソースを削除します。 後でログを再作成する場合は、イベント ソースを再利用する場合は、再度登録する必要があります。 イベント ソースを登録せず、他のユーザーがログ名を指定せずにイベント ソースに書き込む場合、イベント ソースはアプリケーション イベント ログに作成されます。 そのため、以前に削除して再作成したログにエントリを書き込めたアプリケーションでは、代わりにアプリケーション ログに書き込まれます。これは、イベント ソースが含まれるようになったためです。
注意
イベント ログの再作成は、困難なプロセスになる可能性があります。 アプリケーション ログなど、システムによって作成されたイベント ログは削除しないでください。
を呼び出してログを Delete 削除すると、そのログに登録されているソースが自動的に削除されます。 これにより、そのログを使用する他のアプリケーションが動作不能になる可能性があります。
こちらもご覧ください
適用対象
Delete(String)
- ソース:
- EventLog.cs
- ソース:
- EventLog.cs
- ソース:
- EventLog.cs
ローカル コンピューターからイベント ログを削除します。
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 削除すると、そのログに登録されているソースが自動的に削除されます。 これにより、そのログを使用する他のアプリケーションが動作不能になる可能性があります。
こちらもご覧ください
適用対象
.NET