Private/Write-ChangeEmailAgentEventLog.ps1

function Write-ChangeEmailAgentEventLog {
    [CmdletBinding()]
    Param(
        [Parameter(Mandatory = $true)]
        [string] $Message,

        [Parameter(Mandatory = $true)]
        [int] $EventId,

        [Parameter(Mandatory = $true)]
        [System.Diagnostics.EventLogEntryType] $EntryType
    )

    Process {
        try {
            [System.Diagnostics.EventLog]::WriteEntry("ChangeEmailAgent", $Message, $EntryType, $EventId)
        }
        catch {
            Write-Verbose "Failed to write event log entry: $_"
        }
    }
}