访问最新的文本日志


绝大多数用户更关心最新的日志,下面给出一个简单的例子演示从一个文本日志中获取最后的某几行文本行:

# 显示windowsupdate.log 文件的最新5行日志
$logs = Get-Content -Path $env:windir\windowsupdate.log -ReadCount 0
$logs[-5..-1]

上面的例子会返回windows 更新日志文件中的最后5行文本。它的执行效率非常高,因为Get-Content使用了–ReadCount 0 参数。ReadCount是指每次发送给管道的文本行数,0代表全部,在当前的场景下选择0效率更高。然而有另外一个诟病,变量$logs会以数组的形式将文本大量保存在内存中,并且还是连续的内存。因此在PowerShell 3.0中有了一个更高效的途径。

# 显示windowsupdate.log 文件的最新5行日志   
Get-Content -Path $env:windir\windowsupdate.log -ReadCount 0 -Tail 5

这里的Tail参数让Get-Content命令只返回指定结尾行数的文本。这样就避免了大量文本内容驻留在内存内的问题了。

引用链接:Accessing Latest Log File Entries

本文链接: https://www.pstips.net/accessing-latest-log-file-entries.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注