繁体   English   中英

从ActionController登录到我在Rails中的文件吗?

[英]Logging to my own file in Rails from an ActionController?

我在Rails中很陌生。 我需要从ActionController :: Base派生的类中将一些信息记录到函数内的文件中。 我只需要追加一次到文件,但是我应该确保任何并发的进程/线程都不会破坏我的行。 我的日志中不需要任何花哨的时间/ IP等格式。

我一直在试图找出如何创建自定义日志的方法,但是由于所有可用的示例都从ActiveRecord :: Base派生它,我感到困惑(例如,参见此答案 )。 我还检查了如何使用File#flock原子写入文件,但是我不确定这是否是我真正需要的。

任何帮助我指出正确方向的帮助将不胜感激!

我建议使用Ruby的Logger类。

require 'logger'

logger = Logger.new('FILE_PATH_TO_LOG_TO')
logger.level = Logger::Info

然后,您可以使用flock锁定文件,然后使用以下命令将其写出到文件中:

logger.info("INFO_TO_WRITE")

这样,您应该能够记录所需的内容,并确保没有竞争性访问。

另一个参考: http : //ruby-doc.org/stdlib-2.3.0/libdoc/logger/rdoc/Logger.html

或: http : //guides.rubyonrails.org/v3.2/debugging_rails_applications.html#the-logger

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM