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

Set*_*add 12 dart

我想将我的Dart程序打印到浏览器的开发控制台.如何打印到控制台(例如DevTools的控制台)?

Set*_*add 10

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

import 'dart:html';

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

您将看到打印到开发人员控制台的消息.


Fox*_*x32 7

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

但是,如果你要访问的DevTools的先进的素质特征分析控制台,您需要使用Console类从dart:htmlConsole.log('Text')

它支持不同级别的打印(信息,警告,错误,调试)。它还允许打​​印表格和其他更高级的功能。请注意,并非所有浏览器都支持这些功能!遗憾的是有关Console该类的文档不完整,但是您可以在此处此处看看Chrome的文档。


Bla*_*nka 6

log()图书馆import \'dart:developer\'也有。

\n\n

例子:

\n\n
int name = "Something";\nlog("ClassName: successfully initialized: $name");\n\n//output\n[log] ClassName: successfully initialized: Something \n
Run Code Online (Sandbox Code Playgroud)\n\n

请注意,logdebugPrint取 String 值,而不是像print. 因此,您必须.toString()在末尾添加或与字符串插值一起使用,就像我在上面的示例中使用的那样。

\n\n

来自文档

\n\n
\n

您有两种应用程序日志记录选项。第一个是使用stdoutstderr。通常,这是使用print()\n 语句或通过导入和调用and\n dart:io上的方法来完成的。例如:stderrstdout

\n\n

stderr.writeln(\'print me\');

\n\n

如果一次输出太多,Android 有时会丢弃一些\n 日志行。为了避免这种情况,请使用debugPrint()Flutter\xe2\x80\x99s foundation\n 库中的 , 。这是一个包装器print,可将输出限制到\n 级别,以避免被 Android\xe2\x80\x99s 内核丢弃。

\n\n

应用程序日志记录的另一个选项是使用dart:developer\n log()函数。这允许您在日志记录输出中包含更多的粒度和信息。这里\xe2\x80\x99s 是一个例子:

\n\n
import \'dart:developer\' as developer;\n\nvoid main() {   \n  developer.log(\'log me\', name: \'my.app.category\');\n  developer.log(\'log me 1\', name: \'my.other.category\');\n  developer.log(\'log me 2\', name: \'my.other.category\');\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n
import \'dart:convert\'; import \'dart:developer\' as developer;\n\nvoid main() {   \n\n  var myCustomObject = ...;\n\n  developer.log(\n    \'log me\',\n    name: \'my.app.category\',\n    error: jsonEncode(myCustomObject),   \n  ); \n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果在 DevTool\xe2\x80\x99s 日志记录视图中查看日志记录输出,则 JSON\n 编码的错误参数将被解释为数据对象,并在该日志条目的详细信息视图中呈现。

\n
\n\n

阅读更多内容(就像教程一样很酷)

\n


Pra*_*wal 5

如果您来这里是为了Flutter,那么debugPrint您应该使用它。

这是相同的文档文本。

/// Prints a message to the console, which you can access using the "flutter"
/// tool's "logs" command ("flutter logs").

/// By default, this function very crudely attempts to throttle the rate at
/// which messages are sent to avoid data loss on Android. This means that
/// interleaving calls to this function (directly or indirectly via, e.g.,
/// [debugDumpRenderTree] or [debugDumpApp]) and to the Dart [print] method can
/// result in out-of-order messages in the logs.
Run Code Online (Sandbox Code Playgroud)

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