我正在开发一个 Flutter 桌面应用程序,它有时会运行Process
. 对于这个过程,我想读取输出并根据它在 Flutter 中做事。我遇到的问题是,并非所有输出都通过 显示process.stdout
,即INFO
我也想阅读一些日志。
这是(非常简单的)代码:
Process process = await Process.start(
"cwltool",
[
"--verbose",
"Oesophageal-varices.cwl",
"Oesophageal-varices-inputs.yml"
],
);
await process.stdout
.transform(utf8.decoder)
.forEach(print)
有了这个,输出只有:
{
"cases": {
"location": "file:///somelocation/oesophageal-varices-cases.csv",
"basename": "oesophageal-varices-cases.csv",
"class": "File",
"checksum": "sha1$0b3f04bbeaac24499166fd56d93ad8bd6acb9ca8",
"size": 670,
"path": "/somelocation/oesophageal-varices-cases.csv"
}
}
但是当我在终端中运行相同的进程时,它也会打印INFO
日志,这是我在 Flutter 中迫切需要的。我怀疑下面的 python 子进程完成的日志记录没有传递给process.stdout
,因此它们没有打印。
我将如何INFO
使用 Dart 访问日志?