개요
버전 2.18부터 .NET/ C# 드라이버 표준 .NET 로깅 API 사용합니다. 이 가이드 에서는 운전자 사용하여 애플리케이션 에 대한 로깅을 구성하는 방법을 학습 수 있습니다.
중요
이 기능 사용하려면 프로젝트 에 Microsoft 패키지 추가해야 합니다.
로깅 구성
애플리케이션의 로깅 설정을 지정하려면 LoggingSettings 클래스의 새 인스턴스를 만든 다음 MongoClientSettings 객체의 LoggingSettings 속성에 할당합니다.
LoggingSettings 생성자에 다음 매개 변수를 사용할 수 있습니다.
속성 | 설명 |
|---|---|
| 를 생성하는 |
| 선택 사항. 기록된 메시지의 확장 JSON 문서에 대한 최대 문자 수입니다. |
다음 코드 샘플은 모든 디버그 메시지를 콘솔에 기록하는 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는 다음 카테고리를 사용하여 메시지를 분류합니다.
카테고리 | 설명 |
|---|---|
| 클러스터에 대해 실행되는 명령의 진행률은 |
|
|
| 특정 명령을 보낼 서버를 확정하는 결정입니다. |
|
|
| 기타 모든 .NET/C# 드라이버 내부 구성 요소의 접두사 |
팁
Default 카테고리를 구성하여 모든 로깅 카테고리에 대한 최소 상세도를 지정할 수 있습니다.
로그 상세도 구성
표준 .NET 로깅 메커니즘을 사용하여 각 메시지 카테고리의 로그 상세도를 구성할 수 있습니다. 다음 코드 샘플은 두 가지 유형의 메시지를 기록하도록 MongoClient를 구성하는 방법을 보여 줍니다.
모든 카테고리에서 로그 수준이
Error이상인 모든 메시지SDAM 카테고리에서 로그 수준이
Debug이상인 모든 메시지
이 예에서는 구성이 인메모리에서 수행됩니다. 이 코드는 키가 "LogLevel:<category>"이고 값이 해당 카테고리에 있는 메시지의 최소 로그 수준인 Dictionary<string, string>를 생성합니다. 그런 다음 ConfigurationBuilder 객체에 딕셔너리를 추가한 후 ConfigurationBuilder를 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);
팁
로그 상세도 구성에 대한 자세한 내용은 Microsoft .NET 로깅 설명서를 참조하세요.