Private/Write-M365Log.ps1

function Write-M365Log {
    param(
        [Parameter(Mandatory)]
        [string]$Message,
        [ValidateSet('Info', 'Warning', 'Error')]
        [string]$Level = 'Info'
    )

    $timestamp = Get-Date -Format 'yyyy-MM-dd HH:mm:ss'
    $logMessage = "[$timestamp] [$Level] $Message"

    switch ($Level) {
        'Info'    { Write-Verbose $logMessage }
        'Warning' { Write-Warning $logMessage }
        'Error'   { Write-Verbose "[ERROR] $logMessage" }
    }
}