Visão geral
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.
Configurar registros
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 |
|---|---|
| O |
| Opcional. O número máximo de caracteres para documentos JSON estendidos em mensagens registradas. |
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);
Mensagens de registro por categoria
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 |
|---|---|
| O progresso dos comandos é executado em relação ao seu cluster, representado por |
| Alterações na topologia do cluster, incluindo |
| As decisões que determinam para qual servidor enviar um comando específico |
| Alterações no conjunto de conexões de cluster, incluindo |
| 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.
Configurar verbosidade de registro
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
Errorou superior de todas as categoriasTodas as mensagens com nível de registro
Debugou 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.