3

SinatraアプリでSequelを初期化したい

DB = Sequel.sqlite '...', :loggers => [SomeLogger]

SequelにSinatraと同じ宛先にログインしてもらいたい。ただし、Sinatraロガーはリクエスト処理中にのみ使用できるようです(インスタンスメソッドでのみrequest.logger)。リクエストごとにDB接続を再開したくないので、自分のconfigureセクションで1回だけ再開したいと思います。

どうすればそれができますか?

4

1 に答える 1

3

DB.logger = request.loggerbeforeフィルターは、新しいデータベース接続を作成せずに実行時にのみ使用できる場合に問題を回避します。

Rack/Sinatraロガーがリクエスト外で利用できるかどうかはわかりません。Rack / logger.rbを見ると、リクエストごとに新しいものが作成されているようです。

于 2012-10-29T15:06:22.723 に答える