Ruby实时日志记录

Ruby实时日志记录,ruby,logging,tail,puts,Ruby,Logging,Tail,Puts,我正在尝试使用Ruby将一些输出实时记录到一个文件中。我希望能够对日志文件执行tail-f,并观察输出被写入。目前,只有当我停止ruby脚本时,文件才会被写入。我想做的似乎是直截了当的 我创建日志文件 log = File.open(logFileName, "a") 稍后,我会使用以下方式对其进行写入: log.puts "#{variable}" 同样,日志文件被创建,并且正确的条目在其中,但只有在我停止脚本运行之后。我需要跟踪日志文件并实时查看 提前谢谢 通常,文件输入和输出缓冲到一定

我正在尝试使用Ruby将一些输出实时记录到一个文件中。我希望能够对日志文件执行tail-f,并观察输出被写入。目前,只有当我停止ruby脚本时,文件才会被写入。我想做的似乎是直截了当的

我创建日志文件

log = File.open(logFileName, "a")
稍后,我会使用以下方式对其进行写入:

log.puts "#{variable}"
同样,日志文件被创建,并且正确的条目在其中,但只有在我停止脚本运行之后。我需要跟踪日志文件并实时查看


提前谢谢

通常,文件输入和输出缓冲到一定程度。您可以通过翻转标志来禁用此行为:

log.sync = true
这通过在每次写入后强制执行
刷新
操作来禁用缓冲。启用该功能后,像
tail-f
这样的程序可以实时读取数据