颤振 - 如何在移动设备而不是控制台上登录文件



文档说

var logger = Logger(
filter: null, // Use the default LogFilter (-> only log in debug mode)
printer: PrettyPrinter(), // Use the PrettyPrinter to format and print log
output: null, // Use the default LogOutput (-> send everything to console)
);

我对输出的参数应该是什么以使其记录到文件中感到困惑

file(../lib/file.txt)

@user2962142,

你必须创建带有扩展 LogOutput 的类 FileOutput 并传入 Logger(( 的输出参数,如下所示

_logger = 记录器(打印机: 漂亮打印机((, 输出: 文件输出(((;

其中FileOutput Class负责在文件中编写漂亮的日志,作为

class FileOutput extends LogOutput {
FileOutput();
File file;
@override
void init() {
super.init();
file = new File(filePath);
}
@override
void output(OutputEvent event) async {
if (file != null) {
for (var line in event.lines) {
await file.writeAsString("${line.toString()}n",
mode: FileMode.writeOnlyAppend);
}
} else {
for (var line in event.lines) {
print(line);
}
}
}
}

尝试f_logs插件:https://pub.dev/packages/f_logs

这将导出一个.txt文件

这可能不是您要查找的内容,但您可以使用 debugPrint(( 写入控制台,并在执行时指定要与 run 命令一起输出的文本文件。

我想从测试中做到这一点,并使用以下方法从终端输出到项目根目录中的文本文件:

flutter test --no-pub testmy_test.dart >output.txt

最新更新