接続プールを使用して、node.jsとnode-mongodb-nativeドライバーを使用します。何が起こっているのか、アクティブな接続の数、接続がいつ開かれるか閉じられるかを確認するためにデバッグを有効にする方法はありますか?
私は次のようなものを見たいです:
*接続xxxがhost:portで開かれました *接続yyyがhost:portで開かれました *接続xxxが閉じられました
接続プールを使用して、node.jsとnode-mongodb-nativeドライバーを使用します。何が起こっているのか、アクティブな接続の数、接続がいつ開かれるか閉じられるかを確認するためにデバッグを有効にする方法はありますか?
私は次のようなものを見たいです:
*接続xxxがhost:portで開かれました *接続yyyがhost:portで開かれました *接続xxxが閉じられました
debug
ます。const client = new MongoClient('mongodb://127.0.0.1:27017/', {
useUnifiedTopology: true,
loggerLevel: 'debug',
// logger: (message, context) => console.dir(context),
})
// connection pool monitoring
client.on('connectionPoolCreated', event => console.dir(event))
client.on('connectionPoolClosed', event => console.dir(event))
client.on('connectionCreated', event => console.dir(event))
client.on('connectionReady', event => console.dir(event))
client.on('connectionClosed', event => console.dir(event))
client.on('connectionCheckOutStarted', event => console.dir(event))
client.on('connectionCheckOutFailed', event => console.dir(event))
client.on('connectionCheckedOut', event => console.dir(event))
client.on('connectionCheckedIn', event => console.dir(event))
client.on('connectionPoolCleared', event => console.dir(event))
// topology monitoring
client.on('serverDescriptionChanged', event => console.dir(event))
client.on('serverHeartbeatStarted', event => console.dir(event))
client.on('serverHeartbeatSucceeded', event => console.dir(event))
client.on('serverHeartbeatFailed', event => console.dir(event))
client.on('serverOpening', event => console.dir(event))
client.on('serverClosed', event => console.dir(event))
client.on('topologyOpening', event => console.dir(event))
client.on('topologyClosed', event => console.dir(event))
client.on('topologyDescriptionChanged', event => console.dir(event))
およびオブジェクトは両方とも、、および関数を持つオブジェクトであるロガーオプションをサポートしDb()
ます。このオプションは現時点では文書化されていないようですが、0.9.6-202011-10-04変更ログエントリに記載されています。Server()
log
error
debug
Db()
必要なすべての情報がこのインターフェースでサポートされているかどうかはわかりませんが、開始するのに最適な場所です。ドライバーチームは、おそらくそのような機能を追加するためのプルリクエストを歓迎するでしょう。
ノードのドライバーLogger
クラスを使用できます。
import { Logger } from "mongodriver";
そして後であなたのコードで:
Logger.setLevel("debug");
公式のドライバーAPIドキュメントでドキュメントを確認できます