Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo EventLog.Delete (String, String)

 

Data di pubblicazione: ottobre 2016

Rimuove un registro eventi dal computer specificato.

Spazio dei nomi:   System.Diagnostics
Assembly:  System (in System.dll)

public static void Delete(
	string logName,
	string machineName
)

Parametri

logName
Type: System.String

Nome del registro da eliminare. I valori possibili sono Applicazione, Sicurezza, Sistema e qualsiasi registro eventi personalizzato del computer specificato.

machineName
Type: System.String

Nome del computer da cui eliminare il log oppure "." per il computer locale.

Exception Condition
ArgumentException

logName è una stringa vuota ("") o null.

-oppure-

machineName non è un nome computer valido.

InvalidOperationException

Impossibile aprire la chiave del Registro di sistema per il registro eventi nel computer specificato.

-oppure-

Il log non esiste nel computer specificato.

Win32Exception

Il registro eventi non è stato cancellato.

-oppure-

Impossibile aprire il log. Un codice di errore di Windows non è disponibile.

Utilizzare questo metodo quando il log che si desidera eliminare è su un computer remoto. È possibile eliminare qualsiasi log nel computer, purché si disponga di autorizzazioni adeguate.

Delete Rimuove il log specificato da logName dal computer specificato da machineName. Se si desidera eliminare solo l'origine registrata in un log, chiamare DeleteEventSource. Se si desidera solo eliminare le voci di log, chiamare Clear. Delete e DeleteEventSource sono static metodi, pertanto possono essere chiamati sulla classe stessa. Non è necessario creare un'istanza di EventLog per chiamarli.

Questo metodo prima elimina il file che contiene il contenuto del log. Quindi, accede al Registro di sistema e rimuove tutte le origini evento registrate per tale registro. Se si ricrea il log in un secondo momento, è necessario registrare nuovamente le origini evento per poter essere riutilizzati. Se non si registrano le origini eventi e altri utenti di scrittura a un'origine eventi senza specificare un nome di log, verrà creato l'origine evento nel registro eventi dell'applicazione. Di conseguenza, le applicazioni che precedentemente erano in grado di scrivere voci nel log eliminato e ricreato verranno scritto nel registro applicazioni di invece perché ora contiene l'origine evento.

System_CAPS_noteNota

Ricreare i log eventi può essere un processo difficile. Evitare di eliminare i log eventi creato dal sistema, ad esempio il registro applicazione.

Eliminazione di un log tramite una chiamata a Delete Elimina automaticamente le origini registrate in tale registro. In questo modo altre applicazioni che utilizzano tale registro non funzionanti.

Nell'esempio seguente viene eliminato un log dal computer specificato. Nell'esempio viene determinato il log dalla relativa origine.

System_CAPS_noteNota

Più di un'origine può scrivere in un log eventi. Prima di eliminare un log personalizzato, assicurarsi che non sono presenti altre origini di scrittura in tale registro.

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);
        }
    }
}

EventLogPermission

for administering event log information on the computer. Associated enumeration: F:System.Diagnostics.EventLogPermissionAccess.Administer

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: