为了在稍微封闭的系统中进行调试,我必须将文本输出到文件.
有没有人知道在Windows上运行的工具(基于或不基于控制台)检测文件的变化并实时输出?
我喜欢可以执行多个任务的工具,Notepad ++是一个很好的记事本替代品,并且有一个文档监视器插件(使用标准msi安装),效果很好.它也是便携式的,因此您可以将它放在拇指驱动器上以便在任何地方使用.
对于命令行选项,PowerShell(实际上是一个新命令行)具有一个很好的功能.
Get-Content someFile.txt -wait
但您也可以使用正则表达式在命令行进行过滤
Get-Content web.log -wait | where { $_ -match "ERROR" }
Win32的尾巴
Apache Chainsaw - 与log4net日志一起使用,可能要求文件采用某种格式
我在cygwin下使用"tail -f".
使用Windows PowerShell时,您可以执行以下操作:
Get-Content someFile.txt -wait
我使用BareTail在Windows上执行此操作.它是免费的,并且有一些很好的功能,例如用于拖尾多个文件的选项卡和可配置的突出显示.
FileSystemWatcher是一种享受,虽然你必须要小心点击重复的事件 - 来自谷歌的第一个链接 - 但要记住这一点可以产生很好的结果.
到目前为止,尾巴是最好的答案.
如果你不使用Windows,你可能已经有了尾巴.
如果你使用Windows,你可以从这里获得一大堆Unix命令行工具:http://unxutils.sourceforge.net/ - 将它们解压缩并将它们放在PATH中的某个位置.
然后在命令提示符下从日志文件所在的同一文件夹中执行此操作:
tail -n 50 -f whatever.log
这将显示文件的最后50行,并将在文件更新时更新.
你可以将grep与tail结合起来,效果很好 - 就像这样:
tail -n 50 -f whatever.log | grep错误
只给你带有"错误"的行
祝好运!
迟到的答案,虽然可能对某人有帮助 - LOGEXPERT似乎是有趣的Windows实用程序.