我正在使用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连接。因此,自动连接对象增加了。它将成为性能问题。我想要单个数据库连接,只要它需要我需要获取连接对象并执行插入操作。我怎样才能做到这一点。
请帮我解决这个问题。
答案 0 :(得分:0)
最简单的方法是使用Mongoid并创建一个LogInfo类。让mongoid处理你的数据库连接,你只需调用:
LogInfo.create(:tab_name => "#{params[:controller}",:date =>"#{Time.now}")