一 概述
在我们日常开发过程中 ,肯定少不了与Log打交道,在Android中有 logger 以及 timber 这样的打印工具,可是在 Flutter 中原始的打印 print 只能有一种颜色,并没有像 debug、error等好几种颜色,调试起来也麻烦,所以仿照 logger 写了一个自己的 flutter_logger,简单的日志框架
二 优点
- 有Verbose、Debug、Info、Warn 和 Error 五中日志以及颜色
- 打印json数据时更美观易读
- 可以定制你自己喜欢的level颜色值
- 上线时,一键关闭日志输出
三 使用
2.1 导入
# 现在最新的版本是 2.0.1
flutter_easylogger: ^{LAST_VERSION}
复制代码
2.2 简单使用
不带有 tag 的
Logger.v("hello world");
Logger.d("hello world");
Logger.i("hello world");
Logger.w("hello world");
Logger.e("hello world");
var json = "{\"name\":\"tom\",\"age\":\"18\"}";
Logger.json(json);
复制代码

带有tag的
Logger.d("hello",tag:"TAG");
复制代码

2.3 定制level颜色
使用之前可以设置level的颜色
Logger.levelVerbose = 247;
Logger.levelDebug = 26;
Logger.levelInfo = 28;
Logger.levelWarn = 3;
Logger.levelError = 9;
复制代码
设置的颜色值 在 0 – 255 之间,具体颜色参照下图

2.3 关闭日志
Logger.enable = false;
复制代码
四 原理 ANSI
当我们使用 print 打印的时候,控制台基本上是一种颜色,有没有一种可以使控制台改变颜色的?答案是有的,那就是 ANSI ,可以修改控制台的颜色值。
4.1研究
4.1.1 更改颜色值,比如我们打印下面的代码
print('\x1B[35m 紫色hello world \x1B[0m');
print('\x1B[31m 红色hello world \x1B[0m');
复制代码

4.1.2 加粗
print('\x1B[1m 粗体\x1B[0m');
print('\x1B[1;31m 粗红色hello world \x1B[0m');
print('正常');
复制代码

4.1.3 下划线
print('\x1B[4m下划线\x1B[0m');
复制代码

4.2 google开源的ansicolor-dart
当然了,如果你对 ANSI 足够 了解,你直接使用 ANSI 即可,当然 google 也为 dart 封装了一个 ansi 的使用,我们可以根据这个来控制我们的控制台颜色
五 项目地址
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END



















![[02/27][官改] Simplicity@MIX2 ROM更新-一一网](https://www.proyy.com/wp-content/uploads/2020/02/3168457341.jpg)


![[桜井宁宁]COS和泉纱雾超可爱写真福利集-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/4d3cf227a85d7e79f5d6b4efb6bde3e8.jpg)

![[桜井宁宁] 爆乳奶牛少女cos写真-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/d40483e126fcf567894e89c65eaca655.jpg)