我需要輸出幾個日誌文件 - 當它們被寫入到shell時。等效於tail -f output worker * .log在Powershell中
在我的腳本的unix版本中,這是通過tail -f output\worker*.log
實現的。 請注意通配符。
在Powershell中,我試過Get-Content -Path "output\worker*.log" -Wait
,但是這隻能打印它能找到的第一個日誌文件。
完成,這裏是我的代碼,我打電話給我的方案:
foreach ($worker in $workers)
{
Write-Host " Start $worker in background"
$block = {& $args[0] $args[1] $args[2] $args[3] $args[4] $args[5] $args[6] 2> $args[7] > $args[8]}
start-job -name $worker -scriptblock $block -argumentlist `
"$strPath\worker\bin\win32\php.exe", `
"-q", `
"-c", `
"$strPath\worker\conf\php_win32.ini", `
"$strPath\worker\bin\os-independant\logfilefilter\logfilefilter.php", `
"-f", `
"$strPath\worker\$worker\conf\logfilefilter-$worker.xml", `
"$strPath\output\$worker-error.log", `
"$strPath\output\$worker.log"
}
Get-Content -Path "output\worker*.log" -Wait
在我的測試情況下,有8名工人和日誌文件(output\worker01.log
,output\worker02.log
,output\worker03.log
,output\worker04.log
,output\worker05.log
,output\worker06.log
,output\worker07.log
,output\worker08.log
)
是否有解決方法來輸出所有這些日誌文件?或者是否有可能從後臺進程中複製stdout流以將其打印到shell中?