5

我希望能够从可能是 Web 应用程序或命令行应用程序的一部分的包中记录以进行调试

我用的电流

print('some text');

但是我无法在运行时控制打印的内容(DEBUG,INFO,...)虽然我习惯于在 java 中使用 java.util.logging.Logger,但我找不到在日志包中使用 Logger 类的方法dart,在 Web 或命令行应用程序中。

Logger logger = new Logger('test');
logger.info('some text');

上面的简单代码编译得很好,但我在 Dartium 的控制台或 DartEditor 的输出窗格中都看不到任何输出。

有没有人成功使用它(并看到一些文字)?

4

2 回答 2

9

在我的 Dart Bat-belt 中,我保留了这样的功能:

void printLogRecord(LogRecord r) {
  print("${r.loggerName} ${r.level} ${r.message}");
}

然后我将它添加到一个记录器,通常是根记录器:

Logger.root.level = Level.FINE;
Logger.root.onRecord.listen(printLogRecord);
于 2013-02-12T19:10:31.357 回答
1

在 lastes m4 版本中,这是对我有用的 API:

Logger.root.level = Level.FINEST;
Logger.root.onRecord.listen((LogRecord r) {
  window.console.log('${r.loggerName}(${r.level}): ${r.message}');
});
于 2013-05-01T14:50:58.383 回答