AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

로깅

버전 2.18부터 .NET/ C# 드라이버 표준 .NET 로깅 API 사용합니다. 이 가이드 에서는 운전자 사용하여 애플리케이션 에 대한 로깅을 구성하는 방법을 학습 수 있습니다.

중요

이 기능 사용하려면 프로젝트 에 Microsoft 패키지 추가해야 합니다.

애플리케이션의 로깅 설정을 지정하려면 LoggingSettings 클래스의 새 인스턴스를 만든 다음 MongoClientSettings 객체의 LoggingSettings 속성에 할당합니다.

LoggingSettings 생성자에 다음 매개 변수를 사용할 수 있습니다.

속성
설명

LoggerFactory

를 생성하는 ILoggerFactory 객체 ILogger ILoggerFactory LoggerFactory.Create() 입니다.

메서드를 사용하여 객체 만들 수 있습니다. 데이터 유형: ILoggerFactory
기본값: null

MaxDocumentSize

선택 사항. 기록된 메시지의 확장 JSON 문서에 대한 최대 문자 수입니다.

예시 CommandStarted 들어 운전자 메시지를 기록할 때 Command 필드 이 매개 변수에 지정된 문자 수로 자릅니다.

데이터 유형: 기본값: integer
1000

다음 코드 샘플은 모든 디버그 메시지를 콘솔에 기록하는 MongoClient를 만드는 방법을 보여줍니다.

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

MongoDB 클러스터에서 생성된 각 메시지에는 카테고리가 할당됩니다. 이를 통해 다양한 유형의 메시지에 대해 서로 다른 로그 수준을 지정할 수 있습니다.

MongoDB는 다음 카테고리를 사용하여 메시지를 분류합니다.

카테고리
설명

MongoDB.Command

클러스터에 대해 실행되는 명령의 진행률은 CommandStartedEvent, CommandSucceededEvent, CommandFailedEvent로 표시됩니다.

MongoDB.SDAM

ClusterAddedServerEvent, ClusterRemovedServerEvent, ServerHeartbeatStartedEvent, ClusterDescriptionChangedEvent, ServerDescriptionChangedEvent를 포함한 클러스터 토폴로지의 변경 사항입니다.

MongoDB.ServerSelection

특정 명령을 보낼 서버를 확정하는 결정입니다.

MongoDB.Connection

ConnectionPoolReadyEvent, ConnectionPoolClosedEvent, ConnectionCreatedEvent, ConnectionCheckoutEvent를 포함한 클러스터 연결 풀의 변경 사항입니다.

MongoDB.Internal.*

기타 모든 .NET/C# 드라이버 내부 구성 요소의 접두사

Default 카테고리를 구성하여 모든 로깅 카테고리에 대한 최소 상세도를 지정할 수 있습니다.

표준 .NET 로깅 메커니즘을 사용하여 각 메시지 카테고리의 로그 상세도를 구성할 수 있습니다. 다음 코드 샘플은 두 가지 유형의 메시지를 기록하도록 MongoClient를 구성하는 방법을 보여 줍니다.

  • 모든 카테고리에서 로그 수준이 Error 이상인 모든 메시지

  • SDAM 카테고리에서 로그 수준이 Debug 이상인 모든 메시지

이 예에서는 구성이 인메모리에서 수행됩니다. 이 코드는 키가 "LogLevel:<category>"이고 값이 해당 카테고리에 있는 메시지의 최소 로그 수준인 Dictionary<string, string>를 생성합니다. 그런 다음 ConfigurationBuilder 객체에 딕셔너리를 추가한 후 ConfigurationBuilderLoggerFactory에 추가합니다.

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

로그 상세도 구성에 대한 자세한 내용은 Microsoft .NET 로깅 설명서를 참조하세요.