如何使用Rake为日志文件添加时间戳?

时间:2017-04-10 21:24:34

标签: ruby datetime rake

在Rake任务中持续为日志文件加时间戳的简单,清晰和简洁的方法是什么?

我看到有#timestamp方法;然而,在阅读其描述后,我仍然不确定如何使用它:

timestamp()

Time stamp for file creation task.
This time stamp is earlier than any other time stamp.

另外,我是否有效地使用filedirectory方法?还有更好的方法吗?

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

1 个答案:

答案 0 :(得分:0)

此时间戳不是您所需要的。瑞克不支持您想要的。您可以通过Debian中提供的“ moreutils”软件包将标准输出传递给“ ts”工具,以添加时间戳。

此方法用于处理文件时间戳。