output method
void
output(
- OutputEvent event
)
Implementation
@override
void output(OutputEvent event) async {
if (!completer.isCompleted) {
await completer.future;
}
// 输出log到控制台
// ignore: avoid_print
if (!kReleaseMode) event.lines.forEach(print);
// 输出log到文件
var lines = event.lines.map((line) {
return line
.replaceAll("[38;5;12m", "")
.replaceAll("[38;5;196m", "")
.replaceAll("[38;5;35m", "")
.replaceAll("[38;5;208m", "")
.replaceAll("[38;5;244m", "")
.replaceAll("[38;5;250m", "")
.replaceAll("[48;5;12m", "")
.replaceAll("[48;5;196m", "")
.replaceAll("[48;5;35m", "")
.replaceAll("[48;5;208m", "")
.replaceAll("[48;5;244m", "")
.replaceAll("[48;5;250m", "")
.replaceAll("[0m", "")
.replaceAll("[39m", "")
.replaceAll("[49m", "")
.replaceAll("", "");
}).toList();
_sink?.writeAll(lines, '\n');
_sink?.writeln();
}