在Windows中拖尾滚动日志文件的最有效方法

时间:2016-07-07 17:21:08

标签: windows powershell logging

什么是最有效的方法来尾随日志文件,当它们达到一定大小时会被翻转。一些应用程序日志文件可能会变得非常大,超过100 MB。

例如: Tailing“file.log”。

达到25MB后,该文件被重命名(“file.log.1”)。创建一个新的空白“file.log”来替换它。

我找到的一个选项是:PowerShell cmdlet Get-Content

gc file.log -wait -tail 1

任何人都知道足够智能知道文件已翻转(重新命名,重新创建),因此在翻转过程中没有错过任何行?

或者是否需要进行一些检查。如果是这样,我可以得到一些想法。

Windows的更好选择吗?

感谢。

3 个答案:

答案 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} }