flutter 优秀日志库 ulog
ulog
ulog的想法和代码风格,设计方式与 Android logger库几乎无差别,差别在于ulog第一个版本不支持文件打印,但支持动态json库配置
库源码:github.com/smartbackme…
v0.0.1只有基础的console打印,后面将会增加文件打印
开始使用
添加库
dependencies:
flutter_ulog: ^0.0.1
//Initialization
//构建基础adapter isLoggable可以通过不同type来拦截打印,或者关闭打印
class ConsoleAdapter extends ULogConsoleAdapter{
@override
bool isLoggable(ULogType type, String? tag) => true;
}
//初始化配置json库
ULog.init((value){
return "";
});
//添加打印适配器
ULog.addLogAdapter(ConsoleAdapter());
输出基别
verbose
debug
info
warning
error
如何输出
ULog.v("12321321\ndfafdasfdsa\ndafdasf");
ULog.d("12321321");
ULog.i("12321321");
ULog.w("12321321");
ULog.e("1321231",error: NullThrownError());
var map = [];
map.add("1232");
map.add("1232");
map.add("1232");
map.add("1232");
ULog.e(map,error: NullThrownError());
ULog.json('''
{
"a1": "value",
"a2": 42,
"bs": [
{
"b1": "any value",
"b2": 13
},
{
"b1": "another value",
"b2": 0
}
]
}
''');
ULog.e("1321231",error: NullThrownError(),tag: "12312");
ULog.e("1232132112321321x");
优点:
- 可打印json字符串
- 打印行数很多时候会自动折行
- 可以打印模型
- 颜色区分
- 可扩展性强
打印效果:
打印分级
json打印
折行打印