Overview
このガイドでは、 Rubyドライバーを使用してアプリケーションのログを構成する方法を学習できます。ログ記録 を使用すると、ドライバー アクティビティの個別のイベントベースのログを表示できます。
ロガーは、指定可能な 重大度 または冗長のレベルでメッセージをログ。アプリケーションでのログ記録 を有効にすると、アプリケーションのアクティビティに関するさまざまな詳細レベルでの情報を受け取ることができます。ドライバーを使用すると、次の重大度レベルで分類された情報をログできます。
unknownfatalerrorwarninfodebug
上記のリストは重大度レベルの低い順に並べられており、unknown が最も高い重大度レベルです。重大度レベルを指定すると、ドライバーはより高い重大度レベルを持つすべてのメッセージもログに記録します。例、ログレベルを error に設定すると、ドライバーは fatal と unknown の重大度レベルを持つメッセージもログします。
指定する重大度レベルが低いほど、ドライバーがログする情報が多くなり、アプリケーションのパフォーマンスに影響可能性があります。
ロガーを作成する
ドライバー イベントに関するメッセージを受信するようにアプリケーションを構成するには、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' })
ロガーの出力には、操作の時間、メッセージの重大度レベル、およびログメッセージが含まれます。
グローバル ログ レベルの設定
グローバルなログ レベルを設定できるため、各ロガーに対して重大度レベルを手動で設定する必要はありません。次の例は、グローバルログ レベルを設定する方法を示しています。
# Sets the logger level globally Mongo::Logger.level == LOGGER.DEBUG
API ドキュメント
Rubyドライバーのロガー オプションの詳細については、次のAPIドキュメントを参照してください。