我编写了一个powershell来查找日志文件中的模式,然后将它们重定向到日志文件。 我希望每个服务器都有标题,因此编写如下代码:
但是头文件不会重定向到日志文件。 有任何建议请。
如下所述的代码:
$date_value=Get-Date -Format ddMMM
#$file_path="D:\Temp\Arun\mu.log"
$file_path1="\\server1\d$\Temp\Arun\abc.log"
$file_path2="\\server2\d$\Temp\Arun\abc.log"
$file_path3="\\server3\d$\Temp\Arun\abc.log"
# Set the match patterns in the three clusters
$match_pattern1=select-string -pattern $date_value $file_path1
$match_pattern2=select-string -pattern $date_value $file_path2
$match_pattern3=select-string -pattern $date_value $file_path3
$LogDir="D:\temp\arun\Log\"
$DTS=Get-Date -Format "yyyy_MM_dd_HH_mm_ss"
$LogFile = $LogDir+"fetch_data."+$DTS+".log"
$OldLog = $LogFile+".old"
Write-Host "**********************************************************" >> $LogFile
Write-Host "Checking log for today's entries in SERVER1" >> $LogFile
Write-Host "**********************************************************" >> $LogFile
$match_pattern1 >> $LogFile
Write-Host "**********************************************************" >> $LogFile
Write-Host "Checking log for today's entries in SERVER2" >> $LogFile
Write-Host "**********************************************************" >> $LogFile
$match_pattern2 >> $LogFile
Write-Host "**********************************************************" >> $LogFile
Write-Host "Checking log for today's entries in SERVER3" >> $LogFile
Write-Host "**********************************************************" >> $LogFile
$match_pattern3 >> $LogFile
如果有人可以帮助我获取上述代码以便将日志文件通过电子邮件发送为附件,我将不胜感激。
答案 0 :(得分:4)
Write-Host
写入控制台而不是管道。检查Out-File
和Add-Content
cmdlet,以便向文件添加内容。有关如何发送电子邮件,请参阅Send-MailMessage
cmdlet的帮助。
答案 1 :(得分:4)
不喜欢这个功能我编写了一个函数来执行此操作,日志消息设置为仍然可以通过控制台显示:
FUNCTION Write-Log ($message) {
Write-Host $message
$message | Out-File $LogFile -Append
}
Write-Log "..."