1. ホーム
  2. mongodb

[解決済み] MongoDB がすべてのクエリをログに記録する

2022-04-13 23:08:57

質問

基本的なことですが、簡単なことなので...。mongodbですべてのクエリをtailファイルに記録するにはどうしたらよいですか?

試してみました。

  • プロファイリングレベルの設定
  • slow msパラメータ起動の設定
  • mongod の -vv オプション付き

/var/log/mongodb/mongodb.log には、現在のアクティブな接続数だけが表示され続けています...。

どうすればいいですか?

結局、このようにmongodを起動することで解決しました(ハンパなく不格好ですが...開発環境としては有効です)。

mongod --profile=1 --slowms=1 &

これはプロファイリングを有効にし、quot;slow queries"の閾値を1msに設定して、すべてのクエリをquot;slow queries"としてファイルに記録させるものです。

/var/log/mongodb/mongodb.log

これで、コマンドを使った連続的なログ出力が得られるようになりました。

tail -f /var/log/mongodb/mongodb.log

ログの例です。

Mon Mar  4 15:02:55 [conn1] query dendro.quads query: { graph: "u:http://example.org/people" } ntoreturn:0 ntoskip:0 nscanned:6 keyUpdates:0 locks(micros) r:73163 nreturned:6 reslen:9884 88ms