我想知道是否有任何真正统一的伐木系统可以支持导轨 延迟作业,相对容易设置。

我希望能够在我的应用程序中的任何执行上下文(导轨,延迟作业等)中登录同一服务器/文件,即使我目前不在Rails上下文中。

喜欢Rails Logger,但我无法在重新货物工作中登录它。有任何想法吗?

有帮助吗?

解决方案

您是说与Syslog类似的文件库吗?

Ruby都得到了 LoggerSyslog.

Logger可以进行日志滚动,处理严重性水平,并用于许多红宝石模块中进行记录。您可以定义要登录的文件的名称,或使用stdout/stderr或io流。

Syslog的文档是很漂亮的准则,但是您可以通过浏览其源代码或阅读该信息来获取信息 Ruby Syslog Readme.

其他提示

我必须记录在一个由re reque工作运行的宝石中发生的事情。为了记录Rails数据库的情况,我会执行以下操作:

#in gem:
class Foo
  def self.logger
    @@logger ||= Logger.new(nil)
  end

  def self.logger=(logger)
    @@logger = logger
  end

  def self.logger_reset
    self.logger = Logger.new(nil)
  end

  def self.logger_write(obj_id, message, method = :info)
    self.logger.send(method, "|%s|%s|" % [obj_id, message])
  end
end

#in rails in initializers
Foo.logger = MyRailsLogger.new

#in in rails in lib or in model if it uses ActiveRecord
class MyRailsLogger
  def info
    ...
  end

  ...
end

这样,我就可以记录在不同过程中发生的事物,还可以通过object_ID过滤日志,因此只有相关数据被记录。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top