Docs Menu
Docs Home
/ / /
Ruby ドライバー
/

ドライバー イベントのログ

このガイドでは、 Rubyドライバーを使用してアプリケーションのログを構成する方法を学習できます。ログ記録 を使用すると、ドライバー アクティビティの個別のイベントベースのログを表示できます。

ロガーは、指定可能な 重大度 または冗長のレベルでメッセージをログ。アプリケーションでのログ記録 を有効にすると、アプリケーションのアクティビティに関するさまざまな詳細レベルでの情報を受け取ることができます。ドライバーを使用すると、次の重大度レベルで分類された情報をログできます。

  • unknown

  • fatal

  • error

  • warn

  • info

  • debug

上記のリストは重大度レベルの低い順に並べられており、unknown が最も高い重大度レベルです。重大度レベルを指定すると、ドライバーはより高い重大度レベルを持つすべてのメッセージもログに記録します。例、ログレベルを error に設定すると、ドライバーは fatalunknown の重大度レベルを持つメッセージもログします。

指定する重大度レベルが低いほど、ドライバーがログする情報が多くなり、アプリケーションのパフォーマンスに影響可能性があります。

ドライバー イベントに関するメッセージを受信するようにアプリケーションを構成するには、Loggerクラスのインスタンスを作成します。必要に応じて、ログの重大度レベルを指定します。重大度レベルを指定しない場合、デフォルトの重大度レベルは INFO です。次に、ロガーを使用するように Mongo::Clientオブジェクトを構成します。

次の例では、次のアクションが実行されます。

  • ロガーを作成し、出力を STDOUT に記録します。ファイルパスを指定して、ファイルにログこともできます。

  • 重大度レベルを DEBUG に設定します。

  • ロガーを使用するように Mongo::Client を構成します。

  • 挿入操作でロガーをテストします。

require 'mongo'
require 'logger'
# Create a new Logger instance
logger = Logger.new(STDOUT) # You can also log to a file by providing a file path
# Set the log level (optional)
logger.level = Logger::DEBUG # Options are DEBUG, INFO, WARN, ERROR, FATAL, UNKNOWN
# Configures the Mongo client to use the logger
client = Mongo::Client.new(['127.0.0.1:27017'], logger: logger)
# Tests the logger with an insert operation
client[:test_collection].insert_one({ name: 'Test' })
D, [2025-08-14T15:58:36.804464 ...] DEBUG -- : MONGODB | Topology type 'unknown' initializing.
D, [2025-08-14T15:58:36.804618 ...] DEBUG -- : MONGODB | There was a change in the members of the 'Unknown' topology.
D, [2025-08-14T15:58:36.804694 ...] DEBUG -- : MONGODB | Server 127.0.0.1:27017 initializing.
D, [2025-08-14T15:58:36.805036 ...] DEBUG -- : MONGODB | Waiting for up to 30.00 seconds for servers to be scanned: #<Cluster topology=Unknown[127.0.0.1:27017] servers=[#<Server address=127.0.0.1:27017 UNKNOWN>]>
D, [2025-08-14T15:58:36.817796 ...] DEBUG -- : MONGODB | Server description for 127.0.0.1:27017 changed from 'unknown' to 'standalone'.
D, [2025-08-14T15:58:36.818009 ...] DEBUG -- : MONGODB | Topology type 'Unknown' changed to type 'Single'.
D, [2025-08-14T15:58:36.819403 ...] DEBUG -- : MONGODB | 127.0.0.1:27017 req:6 conn:1:1 sconn:15 | admin.insert | STARTED | {"insert"=>"test_collection", "ordered"=>true, "documents"=>[{"name"=>"Test", "_id"=>BSON::ObjectId('689e3fec1524159575156479')}]..., ...}
D, [2025-08-14T15:58:36.835978 ...] DEBUG -- : MONGODB | 127.0.0.1:27017 req:6 | admin.insert | SUCCEEDED | 0.017s

ロガーの出力には、操作の時間、メッセージの重大度レベル、およびログメッセージが含まれます。

グローバルなログ レベルを設定できるため、各ロガーに対して重大度レベルを手動で設定する必要はありません。次の例は、グローバルログ レベルを設定する方法を示しています。

# Sets the logger level globally
Mongo::Logger.level == LOGGER.DEBUG

Rubyドライバーのロガー オプションの詳細については、次のAPIドキュメントを参照してください。

  • Mongo::Loger

  • Mongo::Logable

戻る

モニタリング

項目一覧