zgz345

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

只需要输入logi 就可出现以下代码

/// tag(类名.函数名)
LogUtil.i(index, tag: '_MyHomePageState.onItemClick:');

打印日志效果如下:

实现上面效果步骤如下:

一、封装log_util.dart

  1 ///
  2 /// Log工具类:打印日志相关
  3 ///
  4 /// @author zony
  5 /// @time 2022/4/7 14:49
  6 class LogUtil {
  7   /// 默认日志TAG
  8   static const String _TAG_DEF = "LogUtil: ";
  9 
 10   /// 是否打开输出日志,true:log输出
 11   static bool isOpenLogDef = true;
 12 
 13   /// 日志TAG
 14   static String TAG = _TAG_DEF;
 15 
 16   /// 运行在Release环境时,inProduction为true;
 17   /// 当App运行在Debug和Profile环境时,inProduction为false。
 18   static const bool inProduction = bool.fromEnvironment("dart.vm.product");
 19 
 20   ///
 21   /// 初始化log
 22   ///
 23   /// [isOpenLog] 是否打开日志
 24   /// [tag] tag标识
 25   /// @author zony
 26   /// @time 2022/4/7 14:45
 27   static void init({bool isOpenLog = false, String tag = _TAG_DEF}) {
 28     isOpenLogDef = isOpenLog;
 29     TAG = tag;
 30   }
 31 
 32   ///
 33   /// 打印INFO日志
 34   ///
 35   /// [object] 打印object内容
 36   /// [tag] tag标识
 37   /// @author zony
 38   /// @time 2022/4/7 14:47
 39   static void i(Object object, {String tag = _TAG_DEF}) {
 40     _printLog(tag, '[I]💡', object);
 41   }
 42 
 43   ///
 44   /// 打印警告日志
 45   ///
 46   /// [object] 打印object内容
 47   /// [tag] tag标识
 48   /// @author zony
 49   /// @time 2022/4/7 14:47
 50   static void w(Object object, {String tag = _TAG_DEF}) {
 51     _printLog(tag, '[W]⚠️', object);
 52   }
 53 
 54   ///
 55   /// 打印错误日志
 56   ///
 57   /// [object] 打印object内容
 58   /// [tag] tag标识
 59   /// @author zony
 60   /// @time 2022/4/7 14:47
 61   static void e(Object object, {String tag = _TAG_DEF}) {
 62     _printLog(tag, '[E]⛔', object);
 63   }
 64 
 65   ///
 66   /// 打印debug日志
 67   ///
 68   /// [object] 打印object内容
 69   /// [tag] tag标识
 70   /// @author zony
 71   /// @time 2022/4/7 14:47
 72   static void d(Object object, {String tag = _TAG_DEF}) {
 73     _printLog(tag, "[D]🐛", object);
 74   }
 75 
 76   ///
 77   /// 输出日志
 78   ///
 79   /// [tag] tag标识
 80   /// [stag] stag标识,比如e、i、v等
 81   /// [object] 输出object内容
 82   /// @author zony
 83   /// @time 2022/4/7 14:48
 84   static void _printLog(String tag, String stag, Object object) {
 85     if (!isOpenLogDef || inProduction) {
 86       print('LogUtil._printLog Log returen! [because isOpenLog: ' +
 87           isOpenLogDef.toString() +
 88           ', TAG: ' +
 89           TAG +
 90           ', inProduction: ' +
 91           inProduction.toString()+']');
 92       return;
 93     }
 94     StringBuffer stringBuffer = StringBuffer();
 95     stringBuffer.writeln(
 96         '┌-----------------------------------------------------------------------------------------');
 97     stringBuffer.write('│-> ');
 98     stringBuffer.write(stag);
 99     stringBuffer.write(" ");
100     stringBuffer.write((tag == null || tag.isEmpty) ? TAG : tag);
101     stringBuffer.write(": ");
102     stringBuffer.write(object);
103     print(stringBuffer.toString());
104     print(
105         '└-----------------------------------------------------------------------------------------');
106   }
107 }
View Code

二、创建Live Templates

1、File->Setting->Editor->Live Templates

2、点击最右边+,创建一个Template Group  

3、填写group名,任意填写

4、选中你刚刚创建的group,创建Live Template

5、填写Abbreviation,方便输入和记忆可输入logi,即这个日志输出的快捷方式,在输出日志的地方logi加回车即可

 


 6、上图5编辑界面及value如下图

 

posted on 2022-04-09 15:05  zonyZhang  阅读(844)  评论(0编辑  收藏  举报