Dart:
Journalisation
Comment faire :
Dart comprend un mécanisme de journalisation simple via la bibliothèque dart:developer
. Pour des besoins de journalisation plus sophistiqués, les programmeurs se tournent souvent vers des bibliothèques tierces comme logger
et log4dart
.
Utiliser dart:developer
Ceci est adapté pour une journalisation basique, surtout pendant le développement :
import 'dart:developer';
void main() {
log('Ceci est un message de journalisation de débogage.');
}
Sortie :
Ceci est un message de journalisation de débogage.
Utiliser le paquet logger
Pour une solution plus complète, le paquet logger
offre différents niveaux de journalisation (par ex., info, avertissement, erreur) et peut être formaté de manière plus lisible.
Tout d’abord, ajoutez la dépendance logger
dans votre fichier pubspec.yaml
:
dependencies:
logger: ^1.0.0
Ensuite, utilisez-le comme suit :
import 'package:logger/logger.dart';
var logger = Logger();
void main() {
logger.d("Ceci est un message de débogage");
logger.w("Ceci est un message d'avertissement");
logger.e("Ceci est un message d'erreur");
}
Un exemple de sortie pourrait ressembler à ceci, avec chaque type de message formaté différemment pour une identification facile :
💬 Ceci est un message de débogage
⚠️ Ceci est un message d'avertissement
❗️ Ceci est un message d'erreur
Utiliser le paquet log4dart
Pour les applications nécessitant une journalisation basée sur la configuration (similaire à Log4j), log4dart
offre une approche familière. C’est particulièrement pratique pour les applications à grande échelle.
Assurez-vous d’inclure log4dart
dans votre pubspec.yaml
:
dependencies:
log4dart: ^2.0.0
Un exemple d’utilisation simple :
import 'package:log4dart/log4dart.dart';
void main() {
final logger = LoggerFactory.getLogger("MyApp");
logger.debug("Débogage de MyApp");
logger.info("Message d'information");
}
Sortie :
DEBUG: Débogage de MyApp
INFO: Message d'information
Chacune de ces méthodes offre un niveau différent de flexibilité et de complexité, des messages de débogage simples à une journalisation complète et configurable adaptée aux besoins des applications complexes.