我正在编写一个应用程序,该应用程序在/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!
从logfile名称中删除mktemp
的随机生成字符,而不是将文件移动到其他地方。
请看一下Tempfile
:https://ruby-doc.org/stdlib-2.6.6.3/libdoc/tempfile/rdoc/rdoc/tempfile.html
file = Tempfile.new('foo')
begin
# ...do something with file...
ensure
file.close
file.unlink # deletes the temp file
end
示例直接从Docu。