Console.log bằng ngôn ngữ Dart


Câu trả lời:


114

Đơn giản:

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

Một printchức năng cấp cao nhất cơ bản luôn có sẵn trong tất cả các triển khai của Dart (trình duyệt, máy ảo, v.v.). Vì Dart có nội suy chuỗi, nên cũng dễ dàng sử dụng nó để in những thứ hữu ích:

var a = 123;
var b = new Point(2, 3);
print('a is $a, b is ${b.x}, ${b.y}');

55

Ngoài ra, dart:htmlcho phép sử dụng window.consoleđối tượng.

import 'dart:html';

void main() {
  window.console.debug("debug message");
  window.console.info("info message");
  window.console.error("error message");
}

Điều này có vẻ làm việc trong firefox, ít nhất tôi đã thử nghiệm window.console.debug ( '')
Gökhan Barış Aker

1
Câu trả lời này tốt hơn nhiều, vì bạn có thể duyệt qua đồ thị đối tượng trong bảng điều khiển giống như bạn có thể làm điều đó với bất kỳ thư viện JS nào. Không hoạt động trong FF hiện tại.
Akos Lukacs

8

Dễ thôi! Chỉ cần nhập gói ghi nhật ký:

import 'package:logging/logging.dart';

Tạo một đối tượng ghi nhật ký:

final _logger = Logger('YourClassName');

Sau đó, trong mã của bạn khi bạn cần ghi lại thứ gì đó:

_logger.info('Request received!');

Nếu bạn bắt gặp một ngoại lệ, bạn có thể ghi lại nó và cả stacktrace.

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

Tài liệu gói ghi nhật ký: https://github.com/dart-lang/logging


3
đây là một phụ thuộc, cần được thêm vào phụ thuộc pubspec.yml: logging: ^ 0.11.4
ir2pid

Bạn cũng phải thêm một số mã để làm cho Người ghi nhật ký hoạt động hữu ích. Nếu bạn chỉ có mã trên, thông báo nhật ký sẽ được gửi vào khoảng trống. Ví dụ: để chuyển trực tiếp các thông báo nhật ký đến bảng điều khiển, bạn có thể sử dụng mã như sau: // 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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.