0

我正在使用 rails 应用程序,我的 rails 应用程序日志应该存储在 mongoDB 中。

我正在记录每个控制器的方法调用及其参数、调用日期等。

这是我的应用程序控制器中的代码,用于记录信息

db = Mongo::ReplSetConnection.new([MONGODB_PROP['host'],MONGODB_PROP['port']],:refresh_mode => :sync).db(MONGODB_PROP['database'])
au = db.authenticate(MONGODB_PROP['username'],MONGODB_PROP['password'])

if au
  coll = db.collection("log_info")
  doc = { :tab_name => "#{params[:controller}",:date =>"#{Time.now}"}
  coll.insert(doc)
end

显然,我的代码需要一些标准问题。从我的实现来看,每次调用方法发生时,mongoDB 连接都会建立。所以连接对象会自动增加,这将成为性能问题。我需要 Single DB 连接,只要它需要我需要获取连接对象并执行插入操作。我怎样才能做到这一点。

请帮助我。

4

1 回答 1

0

最简单的方法是使用Mongoid并创建一个 LogInfo 类。让 mongoid 处理您的数据库连接,您只需调用:

LogInfo.create(:tab_name => "#{params[:controller}",:date =>"#{Time.now}")
于 2012-05-21T15:31:41.513 回答