Public/Send-PSGelfUDP.ps1
<#
.Synopsis Sends a GELF message via UDP. .DESCRIPTION This function sends a GELF message via UDP to a server supporting GELF. This function should be used if you don't want to pipe input. .EXAMPLE Send-PSGelfUDP -GelfServer graylog -Port 12201 -ShortMessage "This is a short message" .EXAMPLE Send-PSGelfUDP -GelfServer graylog -Port 12201 -HostName "dc01" -AdditionalField @{TestField1 = "wow!";TestField2 = "wow2"} -ShortMessage "Test Additional Fields" #> function Send-PSGelfUDP { Param ( [Parameter(Mandatory)][String]$GelfServer, [Parameter(Mandatory)][Int]$Port, [Parameter()][String]$HostName, [Parameter(Mandatory)][String]$ShortMessage, [Parameter()][String]$FullMessage, [Parameter()][System.DateTime]$DateTime, [Parameter()][Int]$Level, [Parameter()][String]$Facility, [Parameter()][Int]$Line, [Parameter()][String]$File, [Parameter()][Hashtable]$AdditionalField ) Begin { } Process { $GelfParams = @{} + $PsBoundParameters $GelfParams.Remove('GelfServer') $GelfParams.Remove('Port') $GelfParams.Remove('Encrypt') $GelfMessage = New-PSGelfObject @GelfParams Send-PSGelfUDPFromObject -GelfServer $GelfServer -Port $Port -GelfMessage $GelfMessage } End { } } |