首发于 flutter 从入门到精通

flutter 日志输出、Flutter打印日志、flutter log


目前在西瓜视频上免费刊登 Flutter 系列教程,每日更新,欢迎关注接收提醒

【x1】点击查看提示

【x2】各种系列的教程

【x3】flutter 点滴积累 系列文章


flutter 提供了 print(Object object) 来向开发工具的控制 台输出日志信息

print("test");

可以通过插值法直接输出基本数据类型如下 :

String str ="张三";
print("测试输出 $str ");
int count = 40;
print("测试输出 $count ");

如果是对象类型的,比如要输出对象的一个属性的值,可以这样做:

User user = new User(name:"张三");
 ///输出name
 print("测试输出 ${user.name} ");

common_utils 工具类已经将pring 封装为工具类

common_utils: ^1.1.1

使用common_utils工具类中的LogUtil

//初始化设置 LogUtil
LogUtil.init(true);
//输出日志
LogUtil.v("test");

当然 LogUtil 的 init 方法可根据是否是生产环境来配置 true 与 false ,如果是 false ,则不输出日志,这样的一个优化也是应用在发版本后可以节省向控制台输出日志信息的消耗。

封装源码如下

class LogUtil {
  static const String _TAG_DEF = "###common_utils###";
  static bool debuggable = false; //是否是debug模式,true: log v 不输出.
  static String TAG = _TAG_DEF;
  static void init({bool isDebug = false, String tag = _TAG_DEF}) {
    debuggable = isDebug;
    TAG = tag;
  static void e(Object object, {String tag}) {
    _printLog(tag, '  e  ', object);
  static void v(Object object, {String tag}) {
    if (debuggable) {
      _printLog(tag, '  v  ', object);
  static void _printLog(String tag, String stag, Object object) {
    StringBuffer sb = new StringBuffer();