EventLog.Delete Method (String, String)

Removes an event log from the specified computer.

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

public static void Delete (
	string logName,
	string machineName
public static void Delete (
	String logName, 
	String machineName
public static function Delete (
	logName : String, 
	machineName : String



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


The name of the computer to delete the log from, or "." for the local computer.

Exception typeCondition


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

- or -

machineName is not a valid computer name.


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

- or -

The log does not exist on the specified 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 a remote 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 computer specified by machineName. 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 an 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, so some applications that previously were able to write entries using the specified source to that log 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 specified 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.

using System;
using System.Diagnostics;
using System.Threading;
class MySample{

    public static void Main(){

        string logName;
        if(EventLog.SourceExists("MyOldSource", "myServer")){
            logName = EventLog.LogNameFromSourceName("MyOldSource", "myServer");
            EventLog.DeleteEventSource("MyOldSource", "myServer");
            EventLog.Delete(logName, "myServer");
            Console.WriteLine(logName + " deleted.");     

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

class MySample
    public static void main(String[] args)
        String logName;
        if (EventLog.SourceExists("MyOldSource", "myServer")) {
            logName = EventLog.LogNameFromSourceName("MyOldSource", 
            EventLog.DeleteEventSource("MyOldSource", "myServer");
            EventLog.Delete(logName, "myServer");
            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