2012-01-09 14 views
6

私は背面にMongoDbを使用するRailsアプリケーションを持っています。私はMONGODB [WARNING] Please note that logging negatively impacts client-side performance. You should set your logging level no lower than :info in productionと言うこれらのメッセージをログに記録しています。はい、私はそれについて心配することはありませんでしたが、今すぐそれを調べることに決めました。MongoDbのログレベルをinfoに設定するにはどうすればよいですか?

This page on the mongo siteログレベルは実際には説明されていませんが、詳細は-v-vvvvについて説明しています。それはログレベルと同じですか? -vvvvvのように、デバッグログレベルと同じで、-vはエラーログレベルと同じですか?ドキュメントはこのトピックについて非常に不明です。

答えて

1

ログレベルはレールのログレベルを参照し、-vフラグは冗長を参照します。

Railsは、開発時よりもプロダクションのロギングレベルを自動的に高く設定するので、気にする必要はありません。

+1

私はそれがわかりません - 私はOPを更新しました。メッセージには、特にMONGODBからのメッセージと、 'MONGODB the_database ['users']。find({:deleted_at => nil、:deleted => nil})のようなMongoメッセージがたくさんあります。これがモンゴイドから来ているのだろうか。 – jcollum

+0

これはMongoのルビードライバから来ているようです:http://api.mongodb.org/ruby/current/Mongo/Logging.html#(ソース内)。 – jcollum

+0

これは生産や開発ではこれがですか? –

6

私は私のテストではこれで問題があったので、私は私のspec_helper.rbに次のようにやってしまった:

Mongoid.logger.level = Logger::INFO 

しかしあなたはレールの内側にある場合、あなたはおそらく(未テスト)のアクセスにこれを使用する必要があります代わりにロガー:

config.mongoid.logger 
+0

これはまさに私の問題でした。mongoid + sinatraでrspecを実行すると、ログメッセージがstdoutにダンプされました。ありがとう! – radixhound

+0

[こちらのドキュメント](http://mongoid.org/en/mongoid/docs/installation.html#logging)へのリンクです – toxaq

1

あなたがmongoid 2.2以上を使用している場合、あなたはmongoid.ymlでそれを設定することができます。

production: 
    hosts: 
    ... 
    database: ... 
    logger: false 

また、このに影響します。 mongoのロギングを無効にしたとき、ガベージコレクションの件数が減り、apachebenchを使用して30分間の負荷テストでアプリインスタンスのメモリフットプリントが約15メガバイト小さくなりました。

関連する問題