private/Write-LogMessage.ps1
function Write-LogMessage { <# Author = "Jos Lieben (jos@lieben.nu)" CompanyName = "Lieben Consultancy" Copyright = "https://www.lieben.nu/liebensraum/commercial-use/" level 0 = Critical level 1 = Error level 2 = Warning level 3 = Guidance level 4 = Informational level 5 = Verbose level 6 = Debug #> Param( [Parameter(Mandatory=$true)]$message, [Parameter(Mandatory=$false)][Int]$level = 3 ) switch($global:octo.userConfig.LogLevel){ "Full" {} #show everything "Normal" {if($level -gt 4){$level = 7}} #show up to informational "Minimal" {if($level -gt 3){$level = 7}} #show up to guidance (not much technical data, only if errors occur) "None" {if($level -gt 0){$level = 7}} #only show critical errors, nothing else default {$level = 7} } switch($level){ 0 { Throw $message } 1 { Write-Error $message -ErrorAction Continue } 2 { Write-Warning "$((Get-Date).ToString()) $message" } 3 { Write-Output "$((Get-Date).ToString()) $message" } 4 { Write-Information "$((Get-Date).ToString()) $message" } 5 { Write-Verbose "$((Get-Date).ToString()) $message" } 6 { Write-Debug "$((Get-Date).ToString()) $message" } } } |