Overview
En esta guía, puedes aprender a utilizar el Ruby driver para configurar el registro de tu aplicación. El registro permite ver un registro discreto basado en eventos de las actividades del driver.
Los "loggers" registran mensajes en un nivel de gravedad o nivel de verbosidad que puedes especificar. Cuando habilitas el registro en tu aplicación, puedes recibir información sobre las actividades de tu aplicación en diferentes niveles de detalle. El driver te permite registrar información categorizada en los siguientes niveles de gravedad:
unknownfatalerrorwarninfodebug
La lista anterior está ordenada por nivel de gravedad decreciente, siendo unknown el nivel más alto. Al especificar un nivel de gravedad, el controlador también registra todos los mensajes con niveles de gravedad más altos. Por ejemplo, si establece el nivel de registro en error, el controlador también registrará los mensajes con niveles de gravedad fatal y unknown.
Cuanto menor sea el nivel de gravedad que especifiques, más información registrará el controlador, lo que podría afectar el rendimiento de tu aplicación.
Crear un registro de eventos
Para configurar tu aplicación para recibir mensajes sobre eventos de driver, debes crear una instancia de la clase Logger. Opcionalmente, especifica un nivel de severidad de registros. Si no especificas un nivel de gravedad, el nivel de gravedad por defecto es INFO. Luego, configura tu objeto Mongo::Client para utilizar el registrador.
El siguiente ejemplo realiza las siguientes acciones:
Crea un logger y registra la salida en
STDOUT. También puedes registrar en un archivo proporcionando una ruta de archivo.Establece el nivel de gravedad en
DEBUG.Configura el
Mongo::Clientpara usar el logger.Prueba el registrador con una operación de inserción.
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
La salida del logger contiene la hora de la operación, el nivel de gravedad del mensaje y el mensaje de registro.
Establece un nivel de registro global
Puedes establecer un nivel global de registro, por lo que no necesitas establecer manualmente un nivel de severidad para cada logger. El siguiente ejemplo muestra cómo establecer un nivel de registro global:
# Sets the logger level globally Mongo::Logger.level == LOGGER.DEBUG
Documentación de la API
Para obtener más información sobre las opciones del logger para el controlador de Ruby, consulta la siguiente documentación de la API: