如何使用Dart打印到控制台?

时间:2014-01-09 18:54:46

标签: dart

我希望我的Dart程序能够打印到浏览器的开发控制台。如何打印到控制台(例如DevTools的控制台)?

6 个答案:

答案 0 :(得分:8)

使用print()将字符串打印到浏览器的控制台:

import 'dart:html';

main() {
  var value = querySelector('input').value;
  print('The value of the input is: $value');
}

您将看到一条消息打印到开发者控制台。

答案 1 :(得分:5)

如果您想要将文本打印到控制台,可以使用print('Text')

但是如果你想访问DevTools控制台的高级文件,你需要使用dart:html中的Console类:Console.log('Text')

它支持不同级别的打印(信息,警告,错误,调试)。它还允许打​​印表格和其他更高级的功能。请注意,每个浏览器都不支持这些!很遗憾有关Console课程的文档不完整,但您可以查看Chrome herehere的文档。

答案 2 :(得分:1)

log()库中也有import 'dart:developer'

示例:

int name = "Something";
log("ClassName: successfully initialized: $name");

//output
[log] ClassName: successfully initialized: Something 

请注意,logdebugPrint的String值不同于print。因此,您必须在末尾添加.toString()或像上面的示例中那样使用String插值。

From doc

您有两个用于记录应用程序的选项。首先是 使用stdoutstderr。通常,这是使用print()完成的 语句,或导入dart:io并在stderr上调用方法,并 stdout。例如:

stderr.writeln('print me');

如果一次输出太多,则Android有时会丢弃一些 日志行。为避免这种情况,请使用Flutter的foundation中的debugPrint() 图书馆。这是print的包装,将输出限制为 避免被Android内核丢弃的级别。

应用程序日志记录的另一个选项是使用dart:developer log()功能。这使您可以包括更多的粒度和 日志输出中的信息。这是一个示例:

import 'dart:developer' as developer;

void main() {   
  developer.log('log me', name: 'my.app.category');
  developer.log('log me 1', name: 'my.other.category');
  developer.log('log me 2', name: 'my.other.category');
}

您还可以将应用程序数据传递到日志调用。约定 这是为了使用错误:log()调用中的命名参数JSON 对您要发送的对象进行编码,然后将编码后的字符串传递给 错误参数。

import 'dart:convert'; import 'dart:developer' as developer;

void main() {   

  var myCustomObject = ...;

  developer.log(
    'log me',
    name: 'my.app.category',
    error: jsonEncode(myCustomObject),   
  ); 
}

如果在DevTool的日志视图中查看日志输出,则JSON 编码的错误参数被解释为数据对象并在 该日志条目的详细信息视图。

read more(It's cool like a tutorial)

答案 3 :(得分:0)

如果您在这里Configuring Spring Security Core ... ... finished configuring Spring Security Core Configuring Spring Security REST 2.0.0.M2... ... finished configuring Spring Security REST 2019-06-14 07:33:38.239 ERROR --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Field propertyResolver in org.apache.camel.spring.boot.SpringPropertiesParser required a single bean, but 2 were found: - environment: a programmatically registered singleton - io.micronaut.spring.context.env.MicronautEnvironment(Primary): defined in null Action: Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed ,则应该使用Flutter

这是相同的文档文本。

debugPrint

您可能会获得SDK版本限制,因为它仅适用于2.2及更高版本。

答案 4 :(得分:0)

Dart print()函数在不同环境中的工作方式不同。

  • print()在基于控制台的应用程序中使用时,会在终端控制台中输出
  • print()在基于Web的应用程序中使用时,会输出到开发人员控制台。
void main() {
  print("HTML WebApp");
}

答案 5 :(得分:0)

dartpad支持的唯一已知方法是使用meet.google.com/abc-abcd-abc 顺便说一下,Dart使用$ {}语法表示表达式,或者仅使用$表示单个值。 例如:-

print();

她是文档的链接 print method