在Rake任务中持续为日志文件加时间戳的简单,清晰和简洁的方法是什么?
我看到有#timestamp
方法;然而,在阅读其描述后,我仍然不确定如何使用它:
timestamp()
Time stamp for file creation task.
This time stamp is earlier than any other time stamp.
另外,我是否有效地使用file
和directory
方法?还有更好的方法吗?
require 'time'
task :default => [:timestamp]
directory 'some/path/to'
file 'some/path/to/some.log' => ['some/path/to']
task :timestamp => ['some/path/to/some.log'] do
File.open('some/path/to/some.log', 'a') do |f|
f.puts Time.now.iso8601
end
end
用法:
$ cat some/path/to/some.log
2017-04-10T14:16:44-07:00
2017-04-10T14:16:55-07:00
$ rake
$ cat some/path/to/some.log
2017-04-10T14:16:44-07:00
2017-04-10T14:16:55-07:00
2017-04-10T14:21:14-07:00
答案 0 :(得分:0)
此时间戳不是您所需要的。瑞克不支持您想要的。您可以通过Debian中提供的“ moreutils”软件包将标准输出传递给“ ts”工具,以添加时间戳。
此方法用于处理文件时间戳。