His*_*ess 8 powershell powershell-2.0
我有一个PowerShell脚本监视日志文件,过滤掉有趣的位,然后在写入文件时将这些位呈现给我.工作奇妙.感兴趣的是:
get-content "$logFile" -wait | where { select-string $searchTerm -inp $_ }
Run Code Online (Sandbox Code Playgroud)
现在我想得到幻想!
我希望每次遇到特定术语时都要更改字体颜色.我可以很容易地设置字体颜色,但是如何使用上述语句即时执行?
编辑:想出来,但不能发布8小时的答案.明天会上传.
Ste*_*nco 10
如果您正在寻找提供选择性颜色编码的东西,那么尝试这样的事情.
首先,设置一个辅助函数来选择合适的颜色:
function Get-LogColor {
Param([Parameter(Position=0)]
[String]$LogEntry)
process {
if ($LogEntry.Contains("DEBUG")) {Return "Green"}
elseif ($LogEntry.Contains("WARN")) {Return "Yellow"}
elseif ($LogEntry.Contains("ERROR")) {Return "Red"}
else {Return "White"}
}
}
Run Code Online (Sandbox Code Playgroud)
然后执行如下所示的行:
gc -wait $logFile | ForEach {Write-Host -ForegroundColor (Get-LogColor $_) $_}
Run Code Online (Sandbox Code Playgroud)
尝试
Get-Content $logFile -Wait |
Select-String $searchTerm |
ForEach {write-host -ForegroundColor red $_.line}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3701 次 |
最近记录: |