Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.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 on rails 检查rails中是否已经存在日志文件_Ruby On Rails_Ruby_Logging_Rspec - Fatal编程技术网

Ruby on rails 检查rails中是否已经存在日志文件

Ruby on rails 检查rails中是否已经存在日志文件,ruby-on-rails,ruby,logging,rspec,Ruby On Rails,Ruby,Logging,Rspec,我希望做到以下几点: new_logger = Logger.new('log/exceptions.log') new_logger.level = Logger::ERROR new_logger.error('THIS IS A NEW EXCEPTION!') ActiveRecord::Base.logger = new_logger 但我只想在日志文件不存在时创建它。我会直接使用文件.exist吗? 你将如何测试这个?(使用rspec)如果日志文件变大,rails(或web服务器

我希望做到以下几点:

new_logger = Logger.new('log/exceptions.log')
new_logger.level = Logger::ERROR
new_logger.error('THIS IS A NEW EXCEPTION!')

ActiveRecord::Base.logger = new_logger
但我只想在日志文件不存在时创建它。我会直接使用
文件.exist吗?


你将如何测试这个?(使用rspec)如果日志文件变大,rails(或web服务器)会压缩该文件并创建一个新文件,例如:
log.zip,log_2

,实际上,例如:


如果要写入的文件不存在,则在尝试打开它时会自动创建该文件。

实际上,例如:


如果要写入的文件不存在,则在尝试打开该文件时会自动创建该文件。

…否则,您要将新日志项附加到现有内容中,对吗?是,如果存在,请附加,否则请创建。我对File.exist的关注?是因为它不知道rails项目的设置方式,所以我不确定如何获取其中的所有信息…否则您想将新日志项附加到现有内容中,对吗?是的,如果存在,请附加,否则创建。我对File.exist的关注?是因为它不知道rails项目的设置方式,所以我不确定如何获取其中的所有信息。我认为Logger是rails的一部分,因为某种原因>>是的,我很惊讶地发现它也在核心中
pry
使在文档中搜索给定对象变得异常简单:
show doc Logger
,完成。在这里,出于某种原因,我认为Logger是rails的一部分>>是的,我也很惊讶地发现它位于核心
pry
使搜索文档中的给定对象变得异常简单:
show doc Logger
,完成。
file = File.open('foo.log', File::WRONLY | File::APPEND)
# To create new (and to remove old) logfile, add File::CREAT like:
# file = File.open('foo.log', File::WRONLY | File::APPEND | File::CREAT)
logger = Logger.new(file)