Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
Pymongo ドライバー
/

ログ記録

このガイドでは、さまざまなPyMongoコンポーネントのログ オプションを設定する方法を学習できます。

PyMongo はPython のネイティブ ログ ライブラリをサポートしています。 以下のコンポーネントのログの冗長を設定できます。

  • pymongo.commandは、コマンド操作をログに記録します

  • pymongo.connectionは、接続管理操作をログに記録します。

  • pymongo.serverSelectionは、サーバー選択操作をログに記録します。

これらのオプションを個別に構成するだけでなく、pymongo にログレベルを設定することでグローバル ログ レベルを構成できます。ネイティブのロギング ライブラリの詳細については、Pythonロギング ライブラリのドキュメントを参照してください。

次の例では、グローバル ログ レベルを 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"

戻る

モニタリング

項目一覧