EventLog.Delete Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Remove um recurso de registo.
Sobrecargas
| Name | Description |
|---|---|
| Delete(String, String) |
Remove um registo de eventos do computador especificado. |
| Delete(String) |
Remove um registo de eventos do computador local. |
Delete(String, String)
- Origem:
- EventLog.cs
- Origem:
- EventLog.cs
- Origem:
- EventLog.cs
- Origem:
- EventLog.cs
- Origem:
- EventLog.cs
- Origem:
- EventLog.cs
- Origem:
- EventLog.cs
- Origem:
- EventLog.cs
Remove um registo de eventos do computador especificado.
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)
Parâmetros
- logName
- String
O nome do registo a apagar. Os valores possíveis incluem: Aplicação, Segurança, Sistema e quaisquer registos de eventos personalizados no computador especificado.
- machineName
- String
O nome do computador para apagar o registo, ou "." para o computador local.
Exceções
logName é uma cadeia vazia ("") ou null.
-ou-
machineName não é um nome de computador válido.
A chave do registo para o registo de eventos não podia ser aberta no computador especificado.
-ou-
O registo não existe no computador especificado.
O registo de eventos não foi apagado com sucesso.
-ou-
O registo não pode ser aberto. Não existe código de erro do Windows.
Exemplos
O exemplo seguinte elimina um registo do computador especificado. O exemplo determina o registo a partir da sua origem.
Note
Mais do que uma fonte pode escrever num registo de eventos. Antes de apagar um registo personalizado, certifica-te de que não há outras fontes a escrever nesse registo.
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
Observações
Use este método quando o registo que quer apagar estiver num computador remoto. Pode apagar qualquer registo no computador, desde que tenha as permissões de registo apropriadas.
Delete remove o log especificado por logName do computador especificado por machineName. Se quiser eliminar apenas a fonte registada num registo, ligue DeleteEventSourcepara . Se só quiser apagar as entradas do log, ligue Clearpara .
Delete e DeleteEventSource são static métodos, por isso podem ser chamados na própria classe. Não é necessário criar uma instância de EventLog para chamar qualquer um dos métodos.
Este método elimina primeiro o ficheiro que contém o conteúdo do registo. Depois, acede ao registo e remove todas as fontes de eventos registadas nesse registo. Se recriar o registo mais tarde, deve registar novamente as fontes dos eventos, caso queiram ser reutilizadas. Se não registar as fontes de eventos e outros utilizadores escreverem numa fonte de evento sem especificar um nome de registo, a fonte de eventos será criada no registo de eventos da Aplicação. Portanto, aplicações que antes conseguiam escrever entradas no registo que eliminaste e recriaste irão escrever no registo da Aplicação, porque agora contém a fonte do evento.
Note
Recriar um registo de eventos pode ser um processo difícil. Evite eliminar qualquer um dos registos de eventos criados pelo sistema, como o registo de aplicação.
Apagar um registo através de uma chamada Delete elimina automaticamente as fontes registadas nesse registo. Isto pode tornar outras aplicações que usam esse log inoperantes.
Ver também
Aplica-se a
Delete(String)
- Origem:
- EventLog.cs
- Origem:
- EventLog.cs
- Origem:
- EventLog.cs
- Origem:
- EventLog.cs
- Origem:
- EventLog.cs
- Origem:
- EventLog.cs
- Origem:
- EventLog.cs
- Origem:
- EventLog.cs
Remove um registo de eventos do computador local.
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)
Parâmetros
- logName
- String
O nome do registo a apagar. Os valores possíveis incluem: Aplicação, Segurança, Sistema e quaisquer registos de eventos personalizados no computador.
Exceções
logName é uma cadeia vazia ("") ou null.
A chave do registo para o registo de eventos não podia ser aberta no computador local.
-ou-
O registo não existe no computador local.
O registo de eventos não foi apagado com sucesso.
-ou-
O registo não pode ser aberto. Não existe código de erro do Windows.
Exemplos
O exemplo seguinte apaga um registo do computador local. O exemplo determina o registo a partir da sua origem.
Note
Mais do que uma fonte pode escrever num registo de eventos. Antes de apagar um registo personalizado, certifica-te de que não há outras fontes a escrever nesse registo.
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
Observações
Use este método quando o registo que quer apagar estiver no computador local. Pode apagar qualquer registo no computador, desde que tenha as permissões de registo apropriadas.
Delete remove o registo especificado por logName do computador local. Se quiser eliminar apenas a fonte registada num registo, ligue DeleteEventSourcepara . Se só quiser apagar as entradas do log, ligue Clearpara .
Delete e DeleteEventSource são static métodos, por isso podem ser chamados na própria classe. Não é necessário criar uma nova instância de EventLog para chamar qualquer um dos métodos.
O Delete método apaga primeiro o ficheiro que contém o conteúdo do log. Depois, acede ao registo e remove todas as fontes de eventos registadas nesse registo. Se recriar o registo mais tarde, deve registar novamente as fontes dos eventos, caso queiram ser reutilizadas. Se não registar as fontes de eventos e outros utilizadores escreverem numa fonte de evento sem especificar um nome de registo, a fonte de eventos será criada no registo de eventos da Aplicação. Portanto, aplicações que antes conseguiam escrever entradas no registo que eliminaste e recriaste irão escrever no registo da Aplicação, porque agora contém a fonte do evento.
Note
Recriar um registo de eventos pode ser um processo difícil. Evite eliminar qualquer um dos registos de eventos criados pelo sistema, como o registo de aplicação.
Apagar um registo através de uma chamada Delete elimina automaticamente as fontes registadas nesse registo. Isto pode tornar outras aplicações que usam esse log inoperantes.