Dart:
Rejestrowanie

Jak to zrobić:

Dart zawiera prosty mechanizm logowania poprzez bibliotekę dart:developer. Dla bardziej zaawansowanych potrzeb w zakresie logowania, programiści często zwracają się ku bibliotekom stron trzecich, takim jak logger i log4dart.

Korzystanie z dart:developer

Jest to odpowiednie dla podstawowego logowania, szczególnie podczas rozwoju:

import 'dart:developer';

void main() {
  log('To jest komunikat logu debugowania.');
}

Wyjście:

To jest komunikat logu debugowania.

Korzystanie z pakietu logger

Dla bardziej kompleksowego rozwiązania, pakiet logger oferuje różne poziomy logowania (np. informacja, ostrzeżenie, błąd) i może być formatowany w bardziej czytelny sposób.

Najpierw dodaj zależność logger w pliku pubspec.yaml:

dependencies:
  logger: ^1.0.0

Następnie użyj go w następujący sposób:

import 'package:logger/logger.dart';

var logger = Logger();

void main() {
  logger.d("To jest komunikat debugowania");
  logger.w("To jest komunikat ostrzegawczy");
  logger.e("To jest komunikat o błędzie");
}

Przykładowe wyjście może wyglądać tak, przy czym każdy typ komunikatu jest formatowany inaczej dla łatwej identyfikacji:

💬 To jest komunikat debugowania
⚠️ To jest komunikat ostrzegawczy
❗️ To jest komunikat o błędzie

Korzystanie z pakietu log4dart

Dla aplikacji wymagających logowania opartego na konfiguracji (podobnie do Log4j), log4dart oferuje znane podejście. Jest to szczególnie przydatne dla aplikacji na dużą skalę.

Upewnij się, że dołączyłeś log4dart w swoim pubspec.yaml:

dependencies:
  log4dart: ^2.0.0

Prosty przykład użycia:

import 'package:log4dart/log4dart.dart';

void main() {
  final logger = LoggerFactory.getLogger("MojaAplikacja");
  logger.debug("Debugowanie MojaAplikacja");
  logger.info("Komunikat informacyjny");
}

Wyjście:

DEBUG: Debugowanie MojaAplikacja
INFO: Komunikat informacyjny

Każda z tych metod zapewnia inni poziom elastyczności i złożoności, od prostych komunikatów debugowania do kompleksowego, konfigurowalnego logowania dostosowanego do potrzeb złożonych aplikacji.