我正在尝试如何解码PowerShell中的syslog优先级代码。我知道优先级代码是消息的facilty和严重性的组合,并且在添加到严重性代码之前设施被多了8,但我不确定如何在Powershell中对此进行编码。
因此37/8 = 4.625
的优先级为您提供 4 =设施
以及37-(4*8)=5
的优先级,它会为您提供 5 =严重程度
4工厂是安全/授权信息
5严重性是一个通知:正常
所有这些都在RFC 3164(http://www.ietf.org/rfc/rfc3164.txt)中列出,但我不确定如何在Powershell代码中进行此解码
答案 0 :(得分:2)
试试这个(不按位):
function get-syslog {
param($pri)
[int]$facility = [Math]::truncate([decimal]($pri/8))
$severity = $pri - ($facility *8 )
"Facility is $facility - Severity is $severity"
}
使用:
get-syslog -pri 23
Facility is 2 - Severity is 7