Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Menu Docs

Exploração madeireira

A partir da versão 2.18, o driver .NET/C# usa a API de registro padrão do .NET. Neste guia, você pode aprender a usar o driver para configurar o registro para seu aplicação.

Importante

Para utilizar este recurso, você deve adicionar o pacote Microsoft.Extensions.Logging.Console ao seu projeto.

Para especificar as configurações de registro para seu aplicativo, crie uma nova instância da classe LoggingSettings e, em seguida, atribua-a à propriedade LoggingSettings do seu objeto MongoClientSettings.

O construtor do LoggingSettings aceita os seguintes parâmetros:

Propriedade
Descrição

LoggerFactory

O ILoggerFactory objeto que cria ILogger um. Você pode criar um ILoggerFactory objeto usando o LoggerFactory.Create() método.

Tipo de Dados: ILoggerFactory
Padrão: null

MaxDocumentSize

Opcional. O número máximo de caracteres para documentos JSON estendidos em mensagens registradas.

Por exemplo, quando o driver registra a CommandStarted mensagem , ele trunca o Command campo para o número de caracteres especificado nesse parâmetro.

Tipo de dados: integer
Padrão: 1000

A seguinte amostra de código mostra como criar um MongoClient que registra todas as mensagens de depuração no console:

using var loggerFactory = LoggerFactory.Create(b =>
{
b.AddSimpleConsole();
b.SetMinimumLevel(LogLevel.Debug);
});
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.LoggingSettings = new LoggingSettings(loggerFactory);
var client = new MongoClient(settings);

Cada mensagem gerada por um cluster MongoDB recebe uma categoria. Isso permite especificar diferentes níveis de registro para diferentes tipos de mensagens.

O MongoDB usa as seguintes categorias para classificar mensagens:

categoria
Descrição

MongoDB.Command

O progresso dos comandos é executado em relação ao seu cluster, representado por CommandStartedEvent, CommandSucceededEvent e CommandFailedEvent

MongoDB.SDAM

Alterações na topologia do cluster, incluindo ClusterAddedServerEvent, ClusterRemovedServerEvent, ServerHeartbeatStartedEvent, ClusterDescriptionChangedEvent e ServerDescriptionChangedEvent

MongoDB.ServerSelection

As decisões que determinam para qual servidor enviar um comando específico

MongoDB.Connection

Alterações no conjunto de conexões de cluster, incluindo ConnectionPoolReadyEvent, ConnectionPoolClosedEvent, ConnectionCreatedEvent e ConnectionCheckoutEvent

MongoDB.Internal.*

Prefixo para todos os outros componentes internos do driver .NET/C#

Dica

Você pode especificar a verbosidade mínima para todas as categorias de registro configurando a categoria Default.

Você pode configurar a verbosidade de registro de cada categoria de mensagem usando o mecanismo de registro .NET padrão. A seguinte amostra de código mostra como configurar um MongoClient para registrar dois tipos de mensagens:

  • Todas as mensagens com nível de registro Error ou superior de todas as categorias

  • Todas as mensagens com nível de registro Debug ou superior da categoria SDAM

Neste exemplo, a configuração é feita na memória. O código cria um Dictionary<string, string> em que a chave é "LogLevel:<category>" e o valor é o nível mínimo de registro de mensagens nessa categoria. O código adiciona o dicionário a um objeto ConfigurationBuilder e, em seguida, adiciona o ConfigurationBuilder a um LoggerFactory.

var categoriesConfiguration = new Dictionary<string, string>
{
{ "LogLevel:Default", "Error" },
{ "LogLevel:MongoDB.SDAM", "Debug" }
};
var config = new ConfigurationBuilder()
.AddInMemoryCollection(categoriesConfiguration)
.Build();
using var loggerFactory = LoggerFactory.Create(b =>
{
b.AddConfiguration(config);
b.AddSimpleConsole();
});
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.LoggingSettings = new LoggingSettings(loggerFactory);
var client = new MongoClient(settings);

Dica

Para obter mais informações sobre como configurar o detalhamento do log, consulte a documentação de log do Microsoft .NET.