首先是打开 pub.dev 网站
然后搜索 logger ,在弹出的页面中可以查看到最新的版本
然后复制依赖添加到项目 pubspec.yaml 中 最新版本已是支持Dart3,小编的项目是基于 Flutter3.16.0版本开发的,要求所有的依赖库必须支持 null safe ,本依赖库是支持的。
然后在使用时需要引入
import 'package:logger/logger.dart';
最基础的使用如下:
var logger = Logger();
logger.d("Logger is working!");
然后我在项目中的测试文件中使用,如下图所示,输入的日志会标明文件位置,点击可以直接跳转文件位置。
可以支持多种级别日志的输入
logger.d("Debug log");
logger.v("Trace log"); logger.i("Info log");
logger.w("Warning log");
logger.e("Error log", 'Test Error 错误的消息 ');
输入不同级别日志时,也会有不同的日志颜色输出
小编项目中使用的日志输出类是自定义的一个 LogUtils,所以在这里需要替换为 logger ,索性直接修改如下:
import 'package:logger/logger.dart';
///lib/utils/log_util.dart ///日志输出工具类 class LogUtils { static final Logger _logger = Logger();
static bool _debugMode = false;
static void init({ bool isDebug = false, }) { _debugMode = isDebug; }
static void e(Object object) { _logger.e(object); }
static void d(Object object) { if (_debugMode) { _logger.d(object); } }
static void i(Object object) { _logger.i(object); }
static void w(Object object) { _logger.w(object); } }
小编会在应用启动的时候,判断一下当前的运行模式,如果是 release 线上包,是不需要输出 debug 模式下的日志的
//获取当前的运行环境 //当App运行在Release环境时,inProduction为true; //当App运行在Debug和Profile环境时,inProduction为false。 const bool inProduction = bool.fromEnvironment("dart.vm.product"); //为ture时输出日志 bool isLog = !inProduction; //初始化日志工具 LogUtils.init(isDebug: isLog);
|