Menu Docs
Página inicial do Docs
/ / /
Ruby Driver
/

Registrar eventos de driver

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.

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.

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

Para obter mais informações sobre as opções de registrador para o driver Ruby, consulte a seguinte documentação da API:

  • Mongo::Logger

  • Mongo::Loggable

Voltar

Monitoramento

Nesta página