我开始在我所有的陈述中看到这个警告print。
print('Foo'); // Warning: Avoid `print` calls in production code.
Run Code Online (Sandbox Code Playgroud)
iDe*_*ode 44
这是因为flutter_lintsFlutter 2.3.0 之后创建的新项目中隐式添加了该包。
您可以使用以下任一解决方案。
要删除该行中的警告:
// ignore: avoid_print
print('Hello World');
Run Code Online (Sandbox Code Playgroud)
删除该文件中的警告
// ignore_for_file: avoid_print
print('Hello World');
Run Code Online (Sandbox Code Playgroud)
从整个项目中删除警告。
打开analysis_options.yaml文件并添加此 linter 规则:
include: package:flutter_lints/flutter.yaml
linter:
rules:
avoid_print: false
Run Code Online (Sandbox Code Playgroud)
debugPrint或者log?虽然您也可以使用debugPrint, 或log(from dart:developer),但我不喜欢它们有几个原因。
String作为参数,不像print它接受Object?(一切)Vol*_*nko 20
开发人员不应抑制此类分析器警告,也不应将其用于print()他们正在构建的应用程序。print()也会在发布版本中打印日志,这是不应该发生的事情,因为某些开发人员可能会记录敏感信息。
其他人建议的debugPrint()只是一个包装,以print()避免在 Android 上丢失一些日志,以防函数print()调用太频繁或输出太大。
应该使用 中可用log()的函数dart.developer,它还允许附加记录事件的错误对象、严重性级别、名称等,并且不会在发布模式下打印任何内容,因此不会泄漏任何信息。
以下是有关正确日志记录方法的更多信息,其中还描述了log()功能: https: //docs.flutter.dev/testing/code-debugging#logging
| 归档时间: |
|
| 查看次数: |
33157 次 |
| 最近记录: |