在Ruby中的目录下创建日志文件时出错

时间:2016-02-10 17:50:52

标签: ruby

我正在尝试在我的ruby脚本中的log目录下创建日志文件,但它返回org.jruby.exceptions.RaiseException: (Errno::ENOENT) file:/home/ABC/tool/log/file_name.log 错误。下面是我试图做同样的代码。

FileUtils.mkdir 'log'
$LOG_PATH = "#{File.expand_path("../../../log",__FILE__)}"
File.new("#{$LOG_PATH}/file_name.log")
file = File.open('file_name.log', File::APPEND)
logger = Logger.new(file, 'daily')

上面的代码正在创建log文件夹,但它没有创建file_name.log并给出Errno::ENOENT错误。

有人可以指导我在file_name.log文件夹下创建log吗?

此外,我尝试运行下面复制的代码,看看它是否能够在当前目录下创建日志文件,并且它运行正常。

$LOG = Logger.new('file_name.log', 'daily')

1 个答案:

答案 0 :(得分:0)

我尝试了以下内容并且有效。

FileUtils.mkdir 'log'
$LOG_PATH = "#{File.expand_path("../../../log",__FILE__)}"
Dir.chdir "#{$LOG_PATH}"
$LOG = Logger.new('file_name.log', 'daily')