include/MyWrite.ps1
$ERROR_COLOR = "Red" $WARNING_COLOR = "Yellow" $OUTPUT_COLOR = "DarkCyan" $DEBUG_COLOR = "DarkGray" function Write-MyError { param( [Parameter(Mandatory, ValueFromPipeline)][string]$Message ) # Write-Host "Error: $message" -ForegroundColor $ERROR_COLOR Write-ToConsole "Error: $message" -Color $ERROR_COLOR } function Write-MyWarning { param( [Parameter(Mandatory, ValueFromPipeline)][string]$Message ) # Write-Host "Error: $message" -ForegroundColor $WARNING_COLOR Write-ToConsole $message -Color $WARNING_COLOR } function Write-MyVerbose { param( [Parameter(ValueFromPipeline)][string]$Message ) Write-Verbose -Message $message } function Write-MyHost { param( [Parameter(ValueFromPipeline)][string]$Message, #NoNewLine [Parameter()][switch]$NoNewLine ) # Write-Host $message -ForegroundColor $OUTPUT_COLOR Write-ToConsole $message -Color $OUTPUT_COLOR -NoNewLine:$NoNewLine } function Write-Debug { param( [Parameter(Position = 0)][string]$section, [Parameter(Position = 1, ValueFromPipeline)][string]$Message, [Parameter(Position = 2)][object]$Object ) $flag = $env:ProjectHelper_DEBUG # Enable debug if ([string]::IsNullOrWhiteSpace( $flag )) { return } $trace = ($flag -like '*all*') -or ( $section -like "*$flag*") # Write-Host $message -ForegroundColor $DEBUG_COLOR if ($trace) { if ($Object) { $objJson = $Object | ConvertTo-Json -Depth 10 -ErrorAction SilentlyContinue $message = $message + " - " + $objJson } $message = "[DEBUG][$section] " + $message Write-ToConsole $message -Color $DEBUG_COLOR } } function Write-ToConsole { param( [Parameter(ValueFromPipeline)][string]$Color, [Parameter(ValueFromPipeline, Position = 0)][string]$Message, [Parameter()][switch]$NoNewLine ) Microsoft.PowerShell.Utility\Write-Host $message -ForegroundColor $Color -NoNewLine:$NoNewLine } |