문서 메뉴

문서 홈애플리케이션 개발Atlas Device SDK

로깅 - Flutter SDK

이 페이지의 내용

  • Realm 로그 수준 설정 또는 변경
  • 로거 사용자 지정
  • 로깅 끄기

애플리케이션을 개발하거나 디버깅할 때 앱의 로그 수준을 설정하거나 변경할 수 있습니다. 개발 요구 사항에 따라 다른 양의 데이터를 기록하도록 로그 수준을 변경할 수 있습니다. 격리별로 다양한 로그 수준 또는 사용자 지정 로거를 지정할 수 있습니다.

다음도 참조하세요.

이 페이지에서는 Realm Flutter SDK v1.1.0에 추가된 Realm 로거를 설정하는 방법을 설명합니다. 이는 Realm Flutter SDK 이전 버전의 동기화 클라이언트 로그 수준 설정을 대체합니다. 이전 버전에서 동기화 클라이언트 로그 수준을 설정하는 방법에 대한 자세한 내용은 클라이언트 로그 수준 설정 - Flutter SDK를 참조하세요.

Realm Flutter SDK에서 보고하는 세부 정보 수준을 격리별로 설정할 수 있습니다. 로그 수준을 구성하려면 정적 속성 Realm.logger.level 설정 RealmLogLevel에서제공하는 상수 중 하나로 변경합니다.

Realm.logger.level = RealmLogLevel.trace;

다양한 격리에 대해 서로 다른 로그 수준을 설정하거나, 로그 수준을 변경하여 코드의 여러 지점에서 상세도를 늘리거나 줄일 수 있습니다. 이 동작은 동기화된 영역을 열기 전에 설정해야 하며 변경할 수 없는 더 이상 사용되지 않는 동기화 클라이언트 로그 수준 과는 다릅니다.

// Set a default log level that's not too verbose
Realm.logger.level = RealmLogLevel.info;
executeAppCode();
// Later, change the log level to debug an issue when running specific code
Realm.logger.level = RealmLogLevel.trace;
executeComplexCodeToDebug();

Realm Flutter SDK는 다트 로거 클래스를 준수하는 사용자 지정 로거를 사용할 수 있습니다.

사용자 지정 로거를 설정하려면 를 Logger 생성하고 Realm.logger 를 사용하여 설정합니다. 첫 번째 격리의 정적 속성을 제거합니다.

Realm.logger = Logger.detached("custom logger");

이렇게 하면 이 격리에서 Realm 로깅을 위한 로거가 설정됩니다. 로거를 제공하지 않으면 격리는 기본적으로 로거 인스턴스를 가져옵니다. Realm.logger.onRecord.listen 을(를) 사용하여 기본 로거를 수신 대기하도록 연결할 수 있습니다.

Realm.logger.onRecord.listen((event) {
// Do something with the log event - for example, print to console
print("Realm log message: '$event'");
});

Realm을 사용하는 첫 번째 격리만 로그 메시지를 인쇄합니다. Realm에서 작동하는 새로 생성된 격리는 새 인스턴스를 Realm.logger 가져오지만 기본적으로 print 는 가져오지 않습니다.

기본 로그 수준은 RealmLogLevel.info 입니다. . 격리별로 로그 수준을 변경할 수 있습니다.

로그 수준을 RealmLogLevel.off 로 설정하여 로깅을 해제할 수 있습니다.

Realm.logger.level = RealmLogLevel.off;

또는 모든 Realm.logger 리스너를 지울 수 있습니다.

Realm.logger.clearListeners();

첫 번째 격리에서 로깅을 끄면 기본 인쇄 로거가 중지됩니다.

← 테스트 & 디버그 - Flutter SDK