Flutter Tips之 - Colorful Logs in Flutter

1,365 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第4天,点击查看活动详情

今天想要封装一个带颜色区别的log,例如将Null的数据显示为红色。

思路是使用拓展,增加一个log方法,使用ANSI转义代码来区分Null还是正常的值

import 'dart:developer' as devtools shoow log;

extension Log on Objcet? {
    void log() => devtools.log(this?.toString() ?? '\x1b[101m\x1b[30mNULL\x1b[0m');
}

测试一下结果

void testIt([
    String? firstName,
    String lastName = 'Doe',
    String? address = 'NULL',
    int? age,
    List<Object> list1 = const [],
    List<Object>? list2,
]) {
    firstName.log();// NULL (in colors)
    lastName.log();// DOE
    addres.log();// NULL
    age.log();// NULL (in colors)
    list1.log();// []
    list2.log();// NULL (in colors)
}

image.png

之后就可以自己随意封装自己彩色分明的log类了。