EventLog.Delete Method (String)

Removes an event log from the local computer.

Namespace: System.Diagnostics
Assembly: System (in system.dll)

Public Shared Sub Delete ( _
	logName As String _
Dim logName As String

public static void Delete (
	String logName
public static function Delete (
	logName : String



The name of the log to delete. Possible values include: Application, Security, System, and any custom event logs on the computer.

Exception typeCondition


logName is an empty string ("") or a null reference (Nothing in Visual Basic).


The registry key for the event log could not be opened on the local computer.

- or -

The log does not exist on the local computer.


The event log was not cleared successfully.


The log cannot be opened. A Windows error code is not available.

Use this method when the log you want to delete is on the local computer. You can delete any log on the computer, provided you have the appropriate registry permissions.

Delete removes the log specified by logName from the local computer. If you want to delete only the source registered to a log, call DeleteEventSource. If you only want to delete the log entries, call Clear. Delete and DeleteEventSource are static methods, so they can be called on the class itself. It is not necessary to create a new instance of EventLog to call either method.

This method first deletes the file holding the contents of the log. It then accesses the registry and removes all the event sources registered for that log. Even if you recreate the log at a later point, you will not be able to register the event sources again. Therefore, applications that previously were able to write entries to that log using the specified source will not be able to write to the new log.


Recreating an event log can be a difficult process. Avoid deleting any of the system-created event logs, such as the Application log.

Deleting a log through a call to Delete automatically deletes the sources registered to that log. This can make other applications using that log inoperative.

The following example deletes a log from the local computer. The example determines the log from its source.


More than one source might write to an event log. Before deleting a custom log, make sure there are no other sources writing to that log.

Option Explicit
Option Strict

Imports System
Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        Dim logName As String
        If EventLog.SourceExists("MyOldSource") Then
            ' Find the log associated with this source.    
            logName = EventLog.LogNameFromSourceName("MyOldSource", ".")
            ' Delete the source and the log.
            Console.WriteLine((logName & " deleted."))
        End If
    End Sub 'Main
End Class 'MySample

import System.*;
import System.Diagnostics.*;
import System.Threading.*;

class MySample
    public static void main(String[] args)
        String logName;
        if (EventLog.SourceExists("MyOldSource")) {
            // Find the log associated with this source.    
            logName = EventLog.LogNameFromSourceName("MyOldSource", ".");

            // Delete the source and the log.
            Console.WriteLine(logName + " deleted.");
    } //main
} //MySample

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

Community Additions