什么是最有效的方法来尾随日志文件,当它们达到一定大小时会被翻转。一些应用程序日志文件可能会变得非常大,超过100 MB。
例如: Tailing“file.log”。
达到25MB后,该文件被重命名(“file.log.1”)。创建一个新的空白“file.log”来替换它。
我找到的一个选项是:PowerShell cmdlet Get-Content
gc file.log -wait -tail 1
任何人都知道足够智能知道文件已翻转(重新命名,重新创建),因此在翻转过程中没有错过任何行?
或者是否需要进行一些检查。如果是这样,我可以得到一些想法。
Windows的更好选择吗?
感谢。
答案 0 :(得分:2)
您可以使用下面的Powershell命令:
get-content {file_name} -tail 10 -wait
答案 1 :(得分:0)
如果您确定要验证的行数,那么您可以使用下面的内容(" - "表示您正在从第1行自下而上读取)
(Get-Content $ TargetFileLocation)[ - 1 ..- 5] | Select-String -Pattern" TEXT YOU LOOK FOR"
答案 2 :(得分:0)
我会循环进行。
while($true) { if( Test-Path .\file.log ) { Get-Content .\file.log -Wait -Tail 1 -ErrorAction SilentlyContinue} }