3

我想在我的 Sinatra 应用程序中初始化 Sequel

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

我希望 Sequel 登录到与 Sinatra 相同的目的地。但似乎 Sinatra 记录器仅在请求处理期间可用(仅在实例方法中通过request.logger)。我不想在每个请求上重新打开数据库连接,我只想在我的configure部分执行一次。

我怎么能这样做?

4

1 回答 1

3

DB.logger = request.logger如果之前过滤器仅在运行时可用而不创建新的数据库连接,则 in a before 过滤器将解决该问题。

我不确定 Rack/Sinatra 记录器是否在请求之外可用。查看 rack/logger.rb,似乎每个请求都创建了一个新的。

于 2012-10-29T15:06:22.723 回答