Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Registro

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.

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

LoggerFactory

El objeto ILoggerFactory que crea un ILogger. Puede crear un objeto ILoggerFactory utilizando el método LoggerFactory.Create().

Tipo de dato: ILoggerFactory
Por defecto: null

MaxDocumentSize

opcional. El número máximo de caracteres para documentos JSON extendidos en mensajes registrados.

Por ejemplo, cuando el driver registra el mensaje CommandStarted, trunca el campo Command al número de caracteres especificado en este parámetro.

Tipo de dato: integer
Por defecto: 1000

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);

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

MongoDB.Command

El progreso de los comandos ejecutados en tu clúster, representado por CommandStartedEvent, CommandSucceededEvent y CommandFailedEvent

MongoDB.SDAM

Cambios en la topología del clúster, incluidos ClusterAddedServerEvent, ClusterRemovedServerEvent, ServerHeartbeatStartedEvent, ClusterDescriptionChangedEvent, y ServerDescriptionChangedEvent.

MongoDB.ServerSelection

Las decisiones que determinan a qué servidor enviar un comando en particular

MongoDB.Connection

Cambios en el pool de conexiones del clúster, incluidos ConnectionPoolReadyEvent, ConnectionPoolClosedEvent, ConnectionCreatedEvent y ConnectionCheckoutEvent

MongoDB.Internal.*

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.

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 Error o superior de todas las categorías

  • Todos los mensajes con nivel de registro Debug o 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.