Overview
このガイドでは、さまざまなPyMongoコンポーネントのログ オプションを設定する方法を学習できます。
PyMongo はPython のネイティブ ログ ライブラリをサポートしています。 以下のコンポーネントのログの冗長を設定できます。
pymongo.command
は、コマンド操作をログに記録しますpymongo.connection
は、接続管理操作をログに記録します。pymongo.serverSelection
は、サーバー選択操作をログに記録します。
In addition to configuring these options individually, you can configure the global logging level by setting the log level on pymongo
. To learn more about the native logging library, see the Python logging library documentation.
例
次の例では、グローバル ログ レベルを INFO
に設定します。
import logging logging.getLogger("pymongo").setLevel(logging.INFO)
次の例では、 pymongo.command
コンポーネントのログレベルを DEBUG
に設定します。
import logging logging.getLogger("pymongo.command").setLevel(logging.DEBUG)
ドライバーが出力するメッセージには、次の DEBUG
メッセージの例に示すように、メッセージの先頭に指定されたログレベルが含まれます。
DEBUG:pymongo.command:{"clientId": {"$oid": "..."}, "message": "Command started", "command": "{\"insert\": \"test\", \"ordered\": true, \"lsid\": {\"id\": {\"$binary\": {\"base64\": \"...\", \"subType\": \"04\"}}}, \"$db\": \"db\", \"documents\": [{\"x\": 1, \"_id\": {\"$oid\": \"...\"}}]}", "commandName": "insert", "databaseName": "db", "requestId": ..., "operationId": ..., "driverConnectionId": 1, "serverConnectionId": 3554, "serverHost": "localhost", "serverPort": 27017}
切り捨ての構成
pymongo.command
コンポーネントのロギングを有効にすると、結果のログはデフォルトで 1000 バイト後に切り捨てられます。 この切り捨て制限は、次の例に示すように、MONGODB_LOG_MAX_DOCUMENT_LENGTH
環境変数を希望の長さに設定することで構成できます。
import os os.environ["MONGODB_LOG_MAX_DOCUMENT_LENGTH"] = "2000"