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接続が確立されます。したがって、接続オブジェクトが自動的に増加し、パフォーマンスの問題になります。接続オブジェクトを取得して挿入操作を実行する必要があるときはいつでも、単一のDB接続が必要です。これどうやってするの。

これについて私を助けてください。

4

1 に答える 1

0

最も簡単な方法は、Mongoid を使用て LogInfo クラスを作成することです。Mongoid にデータベース接続を処理させ、次のように呼び出すだけです。

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