バックグラウンド プロセスの将来のデバッグ目的のために、データベースにstderr
andを保存しようとしています。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