Dart:
Registrazione

Come fare:

Dart include un meccanismo di logging semplice attraverso la libreria dart:developer. Per esigenze di logging più sofisticate, i programmatori spesso si rivolgono a librerie di terze parti come logger e log4dart.

Utilizzando dart:developer

Questo è adatto per il logging di base, specialmente durante lo sviluppo:

import 'dart:developer';

void main() {
  log('Questo è un messaggio di log di debug.');
}

Output:

Questo è un messaggio di log di debug.

Utilizzando il pacchetto logger

Per una soluzione più completa, il pacchetto logger offre vari livelli di logging (ad es. informazioni, avvertimento, errore) e può essere formattato in modo più leggibile.

Prima, aggiungi la dipendenza logger nel tuo file pubspec.yaml:

dependencies:
  logger: ^1.0.0

Poi, usalo come segue:

import 'package:logger/logger.dart';

var logger = Logger();

void main() {
  logger.d("Questo è un messaggio di debug");
  logger.w("Questo è un messaggio di avvertimento");
  logger.e("Questo è un messaggio di errore");
}

Un esempio di output potrebbe apparire così, con ogni tipo di messaggio formattato diversamente per un’identificazione facile:

💬 Questo è un messaggio di debug
⚠️ Questo è un messaggio di avvertimento
❗️ Questo è un messaggio di errore

Utilizzando il pacchetto log4dart

Per applicazioni che richiedono un logging basato sulla configurazione (simile a Log4j), log4dart offre un approccio familiare. È particolarmente utile per applicazioni su larga scala.

Assicurati di includere log4dart nel tuo pubspec.yaml:

dependencies:
  log4dart: ^2.0.0

Un semplice esempio di utilizzo:

import 'package:log4dart/log4dart.dart';

void main() {
  final logger = LoggerFactory.getLogger("MyApp");
  logger.debug("Debugging MyApp");
  logger.info("Messaggio informativo");
}

Output:

DEBUG: Debugging MyApp
INFO: Messaggio informativo

Ciascuno di questi metodi fornisce un diverso livello di flessibilità e complessità, da semplici messaggi di debug a logging completo e configurabile, adatto alle esigenze di applicazioni complesse.