我希望做到以下几点:
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
但我只希望创建日志文件(如果它尚不存在)。我真的只使用File.exist?
你会如何测试? (使用rspec)如果日志文件变大,则rails(或是Web服务器)压缩文件并创建一个新文件,例如:log.zip, log_2
答案 0 :(得分:4)
实际上,例如in Logger
docs:
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)
如果要写入的文件不存在,则会在尝试打开时自动创建。