Console.log w języku Dart

Odpowiedzi:

118

Prosty:

print('This will be logged to the console in the browser.');

Podstawowa printfunkcja najwyższego poziomu jest zawsze dostępna we wszystkich implementacjach Dart (przeglądarka, maszyna wirtualna itp.). Ponieważ Dart ma interpolację ciągów, jest łatwy w użyciu do drukowania przydatnych rzeczy:

var a = 123;
var b = new Point(2, 3);
print('a is $a, b is ${b.x}, ${b.y}');
hojny
źródło
56

Ponadto, dart:htmlpozwala na korzystanie z window.consoleobiektu.

import 'dart:html';

void main() {
  window.console.debug("debug message");
  window.console.info("info message");
  window.console.error("error message");
}
Chris Buckett
źródło
Wygląda na to, że działa to w Firefoksie, przynajmniej przetestowałem window.console.debug (``)
Gökhan Barış Aker
1
Ta odpowiedź jest o wiele lepsza, ponieważ możesz przechodzić przez wykresy obiektów w konsoli, tak jak możesz to zrobić z każdą biblioteką JS. Działa w obecnym FF.
Akos Lukacs,
8

To jest łatwe! Po prostu zaimportuj pakiet logowania:

import 'package:logging/logging.dart';

Utwórz obiekt rejestrujący:

final _logger = Logger('YourClassName');

Następnie w swoim kodzie, gdy musisz coś zarejestrować:

_logger.info('Request received!');

Jeśli złapiesz wyjątek, możesz go zarejestrować, a także ślad stosu.

_logger.severe('Oops, an error occurred', err, stacktrace);

Dokumentacja pakietu dziennika: https://github.com/dart-lang/logging

Mark Madej
źródło
3
to jest zależność, należy ją dodać do zależności pubspec.yml: logowanie: ^ 0.11.4
ir2pid
Musisz także dodać kod, aby Logger zrobił coś pożytecznego. Jeśli masz tylko powyższy kod, komunikaty dziennika zostaną wysłane w pustkę. Na przykład, aby skierować komunikaty dziennika do konsoli, możesz użyć następującego kodu: // Configure logging to output to console: Logger.root.level = Level.ALL; Logger.root.onRecord.listen((record) { print('${record.level.name}: ${record.time}: ${record.message}'); });
Pi Da
To nie odpowiada na pytanie o „pisanie do konsoli”. Robiąc to, co powiedziałeś, nic nie robisz, dopóki nie zarejestrujesz loggera, który zapisuje w konsoli ... A potem wracasz do punktu wyjścia, próbując znaleźć sposób na zapisywanie w konsoli.
Stephan Leclercq
2

Proste: print("hello word"); lub debugPrint(" hello word);

thanh tùng trần
źródło
debugPrint wymaga importu 'package: flutter / Foundation.dart';
Stephan Leclercq