Console.log на языке Dart

Ответы:

118

Просто:

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

Базовая printфункция верхнего уровня всегда доступна во всех реализациях Dart (браузер, виртуальная машина и т. Д.). Поскольку в Dart есть строковая интерполяция, ее легко использовать и для печати полезных материалов:

var a = 123;
var b = new Point(2, 3);
print('a is $a, b is ${b.x}, ${b.y}');
щедрый
источник
56

Также dart:htmlпозволяет использовать window.consoleобъект.

import 'dart:html';

void main() {
  window.console.debug("debug message");
  window.console.info("info message");
  window.console.error("error message");
}
Крис Баккет
источник
Кажется, это работает в firefox, по крайней мере, я тестировал window.console.debug ('')
Гекхан Барыш Акер
1
Этот ответ намного лучше, потому что вы можете просматривать графы объектов в консоли так же, как вы можете делать это с любой библиотекой JS. Работает в текущем FF.
Акос Лукач
8

Это просто! Просто импортируйте пакет регистрации:

import 'package:logging/logging.dart';

Создайте объект регистратора:

final _logger = Logger('YourClassName');

Затем в вашем коде, когда вам нужно что-то записать:

_logger.info('Request received!');

Если вы поймаете исключение, вы можете зарегистрировать его и трассировку стека.

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

Документация пакета протоколирования: https://github.com/dart-lang/logging

Марк Мадей
источник
3
это зависимость, которую нужно добавить в pubspec.yml dependencies: logging: ^ 0.11.4
ir2pid
Вы также должны добавить код, чтобы Logger делал что-то полезное. Если у вас есть только указанный выше код, сообщения журнала будут отправлены в пустоту. Например, чтобы направлять сообщения журнала на консоль, вы можете использовать следующий код: // 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
Это не отвечает на вопрос "запись в консоль". Выполнение только того, что вы сказали, ничего не даст, если вы не зарегистрируете регистратор, который записывает в консоль ... И затем вы снова на исходе, пытаясь найти способ записи в консоль.
Стефан Леклерк
2

Просто: print("hello word"); или debugPrint(" hello word);

Thanh Tng Trần
источник
debugPrint требует импорта 'package: flutter / foundation.dart';
Стефан Леклерк