Flutter _ 日志还能这么打印,太秀了!,校园安卓面试题

_logger.i(‘info message’);
_logger.w(‘warning message’);
_logger.e(‘error message’);
_logger.wtf(‘wft message’);
}

下图是上面代码所打印出来的效果。

logger 除了使用简单之外,输出的日志也很优美。在 Logger 的构造函数中,我们可以传入特定的打印器、过滤器、输出位置等参数自由配置,下面是 Logger 的构造函数。

Logger({
LogFilter? filter, // 过滤器,可以区分开发环境与生产环境
LogPrinter? printer, // 打印器,控制日志输出样式和堆栈信息等
LogOutput? output, // 输出器,控制日志输出位置。可以是控制台、文件、内存
Level? level,
}) : _filter = filter ?? DevelopmentFilter(),
_printer = printer ?? PrettyPrinter(),
_output = output ?? ConsoleOutput() {
_filter.init();
_filter.level = level ?? Logger.level;
_printer.init();
_output.init();
}

如果不传入任何参数,默认过滤器是开发者模式,打印器是漂亮的打印器、输出位置是控制台。

简单封装

打印日志在项目中是全局的,为了能在项目中任意地方使用打印功能,最好封装一下,如下是一个简单的封装,Logger 只需要实例化一次,之后在项目中任何地方都可以调用各个级别的打印方法。这里我使用了 PrefixPrinter 打印器包装了 PrettyPrinter 打印器。

class Log {
static Logger _logger = Logger(
printer: PrefixPrinter(PrettyPrinter()),
);

static void v(dynamic message) {
_logger.v(message);
}

static void d(dynamic message) {
_logger.d(message);
}

static void i(dynamic message) {
_logger.i(message);
}

static void w(dynamic message) {
_logger.w(message);

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值