Pat*_*rty 5 ruby activerecord daemons ioerror
我正在Ruby中编写一个项目,它利用ActiveRecord gem进行数据库交互,我试图使用ActiveRecord::Base.logger以下代码使用该属性记录所有数据库活动
ActiveRecord::Base.logger = Logger.new(File.open('logs/database.log', 'a'))
Run Code Online (Sandbox Code Playgroud)
这适用于迁移等(由于某种原因似乎需要启用日志记录,因为它在禁用时会出现NilClass错误)但是当我尝试运行包含调用ActiveRecord对象的线程守护程序的项目时,脚本会失败并且跟随错误
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/logger.rb:504:in `write': closed stream (IOError)
Run Code Online (Sandbox Code Playgroud)
任何关于如何解决这个问题的想法将不胜感激.目前我已经开始查看其他代码,看看人们是否有其他方式以更加线程安全的方式实现ActiveRecord日志记录
谢谢
帕特里克
事实证明,要使迁移起作用,ActiveRecord::Base.logger变量不能为零,这解释了问题的前半部分。尽管当使用文件而不是 STDERR 时,我还无法修复 IOError。
| 归档时间: |
|
| 查看次数: |
2237 次 |
| 最近记录: |