Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Ruby中创建日志文件的通用路径_Ruby_Logging - Fatal编程技术网

如何在Ruby中创建日志文件的通用路径

如何在Ruby中创建日志文件的通用路径,ruby,logging,Ruby,Logging,在这里,我使用Dir::pwd在目录的当前路径下创建logs文件夹。但是我想改变它,从任何其他机器上运行的配置文件中选择目录路径 date_directory= "#{Dir::pwd}/logs/#{DateHelper.getDirectoryYearStamp}/#{DateHelper.getDirectoryMonthStamp}/#{DateHelper.getDirectoryDateStamp}/" FileUtils.mkdir_p(date_directo

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

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

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

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

path = File.read("#{File.dirname(__FILE__)}/path.txt")
编辑:根据您的评论,以下代码片段将每天在/some/x/y/z中创建一个日志文件 文件夹

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


相对于什么?去现在的地方?因此,只需“logs/…”或“/logs/…”而不是当前工作目录路径Dir::pwd,我想获取路径direcotry的用户输入。因此,您需要遍历用户目录,读取其中的配置文件,在其中找到带有path和mkdir的字符串路径。对吗?其实并不难:)谢谢彼得。请看,我想选择一些路径,如$path='some/x/y/z',然后在此路径下创建目录。。因此,不需要像$path='C:/some/x/y/z'那样给出根路径。
require 'logger'

$log = Logger.new("/some/x/y/z/logs.txt", 'daily' )
$log.info "teststring"
# Logfile created on 2013-04-05 13:17:27 +0200 by logger.rb/31641
I, [2013-04-05T13:20:19.811837 #3300]  INFO -- : teststring