Visão geral
Neste guia, você pode aprender a usar o driver Ruby para configurar o registro para seu aplicação. O registro permite que você visualize um registro discreto e baseado em eventos das atividades do motorista.
Os registradores registram mensagens em um nível de gravidade ou verbosidade que você pode especificar. Ao ativar o login no seu aplicação, você pode receber informações sobre as atividades do seu aplicativo em diferentes níveis de detalhamento. O driver permite que você registre informações categorizadas nos seguintes níveis de gravidade:
unknown
fatal
error
warn
info
debug
A lista anterior é ordenada por nível de gravidade decrescente, com unknown
como o nível de gravidade mais alto. Quando você especifica um nível de gravidade, o driver também registra todas as mensagens com níveis de gravidade mais altos. Por exemplo, se você definir o nível de registro como error
, o driver também registrará mensagens com os níveis de gravidade fatal
e unknown
.
Quanto menor o nível de gravidade especificado, mais informações o driver registra, o que pode impacto o desempenho do seu aplicação.
Criar um registrador
Para configurar seu aplicação para receber mensagens sobre eventos de driver, crie uma instância de uma classe Logger
. Opcionalmente, especifique um nível de severidade de registro. Se você não especificar um nível de gravidade, o nível de gravidade padrão será INFO
. Em seguida, configure seu objeto Mongo::Client
para usar o registrador.
O exemplo a seguir executa as seguintes ações:
Cria um registrador e registra a saída em
STDOUT
. Você também pode registrar em um arquivo fornecendo um caminho de arquivo.Define o nível de gravidade para
DEBUG
.Configura o
Mongo::Client
para utilizar o logger.Testa o registrador com uma operação de inserção.
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
A saída do registrador contém o tempo da operação, o nível de gravidade da mensagem e a mensagem de registro.
Definir um nível de registro global
Você pode definir um nível de registro global, para não precisar definir manualmente um nível de gravidade para cada registrador. O exemplo a seguir mostra como definir um nível de registro global:
# Sets the logger level globally Mongo::Logger.level == LOGGER.DEBUG
Documentação da API
Para obter mais informações sobre as opções de registrador para o driver Ruby, consulte a seguinte documentação da API: