0

バックグラウンド プロセスの将来のデバッグ目的のために、データベースにstderrandを保存しようとしています。stdoutまた、キャプチャをプロキシのように透過的にしたいと考えています。つまり、データベース 1 に加えて、通常のロガーに出力したいということstderrですstdout

私はこの種のコードを持っています:

class Message

  include Mongoid::Document

  field :stdout
  field :stderr

  def enable_capture_output
    @previous_stderr, $stderr = $stderr, StringIO.new
    @previous_stdout, $stdout = $stdout, StringIO.new
  end

  def disable_and_save_captured_output
    self.stdout = $stdout.string
    self.stderr = $stderr.string
    $stderr = @previous_stderr
    $stdout = @previous_stdout
  end

end

しかし、それはうまくいきません。:(

使用: Rails 3.2.11 および Mongoid 3.0.23 with DelayedJob

4

1 に答える 1