Overview
A partir de la versión 2.18, el driver .NET/C# utiliza la API estándar .NET logging API. En esta guÃa, puede aprender cómo usar el controlador para configurar el registro de su aplicación.
Importante
Para usar esta funcionalidad, debes agregar el paquete Microsoft.Extensions.Logging.Console a tu Proyecto.
Configurar registro
Para especificar la configuración de logging de tu aplicación, crea una nueva instancia de la clase LoggingSettings, y asÃgnala a la propiedad LoggingSettings de tu objeto MongoClientSettings.
El constructor LoggingSettings acepta los siguientes parámetros:
Propiedad | Descripción |
|---|---|
| El |
| opcional. El número máximo de caracteres para documentos JSON extendidos en mensajes registrados. |
El siguiente ejemplo de código muestra cómo crear un MongoClient que registre todos los mensajes de depuración en la consola:
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);
Mensajes de registro por categorÃa
A cada mensaje generado por un clúster de MongoDB se le asigna una categorÃa. Esto permite especificar diferentes niveles de registro para distintos tipos de mensajes.
MongoDB utiliza las siguientes categorÃas para clasificar los mensajes:
CategorÃa | Descripción |
|---|---|
| El progreso de los comandos ejecutados en tu clúster, representado por |
| Cambios en la topologÃa del clúster, incluidos |
| Las decisiones que determinan a qué servidor enviar un comando en particular |
| Cambios en el pool de conexiones del clúster, incluidos |
| Prefijo para todos los demás componentes internos del controlador .NET/C# |
Tip
Puedes especificar el nivel de verbosidad mÃnimo para todas las categorÃas de registro configurando la categorÃa Default.
Configurar el Nivel de Verbosidad de los Registros
Puede configurar el nivel de verbosidad de los registros de cada categorÃa de mensajes utilizando el mecanismo de registro estándar de .NET. El siguiente ejemplo de código muestra cómo configurar un MongoClient para registrar dos tipos de mensajes:
Todos los mensajes con nivel de registro
Erroro superior de todas las categorÃasTodos los mensajes con nivel de registro
Debugo superior, de la categorÃa SDAM.
En este ejemplo, la configuración se realiza en memoria. El código crea un Dictionary<string, string> donde la clave es "LogLevel:<category>" y el valor es el nivel de registro mÃnimo de los mensajes en esa categorÃa. A continuación, el código añade el diccionario a un objeto ConfigurationBuilder, y luego añade el ConfigurationBuilder a un 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);
Tip
Para obtener más información sobre la configuración del nivel de verbosidad de los registros, consulta la documentación de registros de Microsoft .NET.