我正在编写一个应用程序,该应用程序将日志文件创建并放置在 / tmp 中,然后将该日志文件移动到另一个目录。不幸的是,我在实现过程中遇到了一些问题,我想使该日志文件更加独特。
我碰到了mktemp
,它会自动在 / tmp 中创建一个文件。完美,正是我所需要的!不幸的是,我似乎无法使其在Ruby中工作。我尝试了以下方法但没有成功:
def temporary_logfile
@temporary_logfile = `mktemp "#{File.basename($PROGRAM_NAME)}_#{Time.now.strftime('%Y%m%dT%H%M%S')}.logXXXX"`
end
我希望在 / tmp 中看到我的日志文件,但不幸的是没有任何反应。我想知道我做错了什么吗?
下一步是使用slice!
从日志文件名称中删除mktemp
中随机生成的字符,然后将文件移动到其他位置。
答案 0 :(得分:0)
看看Tempfile
:https://ruby-doc.org/stdlib-2.6.3/libdoc/tempfile/rdoc/Tempfile.html
file = Tempfile.new('foo')
begin
# ...do something with file...
ensure
file.close
file.unlink # deletes the temp file
end
示例直接来自文档。