0

在这里,我使用 Dir::pwd 在目录的当前路径下创建日志文件夹。但我想更改它以从将在任何其他机器上运行的配置文件中选择目录路径。

date_directory= "#{Dir::pwd}/logs/#{DateHelper.getDirectoryYearStamp}/#{DateHelper.getDirectoryMonthStamp}/#{DateHelper.getDirectoryDateStamp}/"
          FileUtils.mkdir_p(date_directory) unless Dir.exists?(date_directory)

我厌倦了给出绝对路径并且它有效。但是如何通过传递相对路径来创建目录?

4

1 回答 1

0

您已经使用相对路径,通用解决方案也是如此,当前文件夹的子文件夹是相对位置。您发布的代码是否有效?但是在您的问题中,您提到了配置文件,这是您想要的吗?什么样的文件?一个 yaml、ini 或一个简单的文本文件?如果您可以使用简单的文本文件

path = File.read("#{File.dirname(__FILE__)}/path.txt")

编辑:根据您的评论,以下片段将在 /some/x/y/z 文件夹中每天创建一个日志文件。

require 'logger'

$log = Logger.new("/some/x/y/z/logs.txt", 'daily' )
$log.info "teststring"

在文件“C:\some\x\y\z\logs.txt”中给出

# Logfile created on 2013-04-05 13:17:27 +0200 by logger.rb/31641
I, [2013-04-05T13:20:19.811837 #3300]  INFO -- : teststring
于 2013-04-05T10:06:04.480 回答