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は、サーバー選択操作をログに記録します。

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"

戻る

モニタリング

項目一覧