分享

Flutter日志输出logger依赖库 优雅的输出日志信息

 程序员读书空间 2023-12-05 发布于浙江

首先是打开 pub.dev 网站 

https://pub.dev/

然后搜索  logger ,在弹出的页面中可以查看到最新的版本

然后复制依赖添加到项目 pubspec.yaml 

logger: ^2.0.2+1

最新版本已是支持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);

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多