[EventLog][Tips] イベントソースを削除する


EventLogクラスのDeleteEventSourceメソッドを使用すると、イベントソースを削除することができます。

また、Deleteメソッドを使用すると、イベントログを削除することができます。引数には削除するログの名前を指定します。

イベントソースに登録されているログ名はLogNameFromSourceNameメソッドで取得できます。引数にはイベントソース名を指定します。

下記は、イベントソースを削除する例です。

テキストボックスに入力されたイベントソースを削除します。

VBの例

' [削除]ボタンクリック時の処理
Private Sub btnDelete_Click(sender As System.Object, e As System.EventArgs) Handles btnDelete.Click
    '★★★削除するイベントログがあるか確認する★★★
    If System.Diagnostics.EventLog.SourceExists(txtSource.Text) Then
        '指定したソースが登録されているログを削除する
        Dim logName As String = System.Diagnostics.EventLog.LogNameFromSourceName(txtSource.Text, ".")

        '★★★イベントログの削除★★★
        System.Diagnostics.EventLog.DeleteEventSource(txtSource.Text)
        System.Diagnostics.EventLog.Delete(logName)
    Else
        MessageBox.Show("指定したイベントソースは存在しないため削除できません!!")
    End If
End Sub

C#の例

// [削除]ボタンクリック時の処理
private void btnDelete_Click(object sender, EventArgs e)
{
    // ★★★削除するイベントログがあるか確認する★★★
    if (System.Diagnostics.EventLog.SourceExists(txtSource.Text))
    {
        // 指定したソースが登録されているログを削除する
        string logName = System.Diagnostics.EventLog.LogNameFromSourceName(txtSource.Text, ".");

        // ★★★イベントログの削除★★★
        System.Diagnostics.EventLog.DeleteEventSource(txtSource.Text);
        System.Diagnostics.EventLog.Delete(logName);

        MessageBox.Show("イベントソースを削除しました!!");
    }
    else
    {
        MessageBox.Show("指定したイベントソースは存在しないため削除できません!!");
    }
}

[EventLog][Tips] イベントソースを作成する


EventLogクラスのCreateEventSourceメソッドを使用すると、イベントソースを作成することができます。

第1引数にはソース名を、第2引数にはログ名を指定します。

下記は、イベントソースを作成する例です。

下記はイベントソースを作成する例です。

テキストボックスに入力されたソース名、ログ名でイベントソースを作成します。

VBの例

' [作成]ボタンクリック時の処理
Private Sub btnCreate_Click(sender As System.Object, e As System.EventArgs) Handles btnCreate.Click
    '作成しようとしているイベントソースの存在を確認する
    If Not System.Diagnostics.EventLog.SourceExists(txtSource.Text) Then
        '★★★イベントソースを作成する★★★
        System.Diagnostics.EventLog.CreateEventSource(txtSource.Text, txtLog.Text)

        MessageBox.Show("イベントソースを作成しました!")
    Else
        MessageBox.Show("作成しようとしているイベントソースはすでに存在します!!")
    End If
End Sub

C#の例

// [作成]ボタンクリック時の処理
private void btnCreate_Click(object sender, EventArgs e)
{
    // 作成しようとしているイベントソースが存在しないことを確認する
    if (!System.Diagnostics.EventLog.SourceExists(txtSource.Text))
    {
        // ★★★イベントソースを作成する★★★
        System.Diagnostics.EventLog.CreateEventSource(txtSource.Text, txtLog.Text);

        MessageBox.Show("イベントソースを作成しました!");
    }
    else
    {
        MessageBox.Show("作成しようとしているイベントソースはすでに存在します!!");
    }
}

[EventLog][Tips] 指定したイベントソースが存在するかを確認する


ErrorLogコンポーネント(または)クラスで、イベントソースが存在するかどうかを確認するには、SourceExistsメソッドを使用します。

引数には確認するイベントソース名を指定します。

またSourcExistメソッドは、コンピューターを指定してイベントソースの存在を確認することができます。この場合には第1引数にイベントソース名を、第2引数にコンピューター名を指定します。

下記は、ローカルコンピューターで指定したイベントソースが存在するかを確認する例です。

“Application”というイベントソースが存在するかを確認し、存在するかどうかのメッセージを表示します。

VBの例

' ["Security"の存在を確認]ボタンクリック時の処理
Private Sub btnExistSecurity_Click(sender As System.Object, e As System.EventArgs) Handles btnExistSecurity.Click
    '★★★"Security"の存在を確認★★★
    If System.Diagnostics.EventLog.SourceExists("Application") Then
        MessageBox.Show("存在します")
    Else
        MessageBox.Show("存在しません")
    End If
End Sub

C#の例

// ["Security"の存在を確認]ボタンクリック時の処理
private void btnExistSecurity_Click(object sender, EventArgs e)
{
    // ★★★"Security"の存在を確認★★★
    if ( System.Diagnostics.EventLog.SourceExists("Application") )
        MessageBox.Show("存在します");
    else
        MessageBox.Show("存在しません");

}