你的位置:天美注册 > 关于天美注册 >

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

发布日期:2024-10-14 17:13    点击次数:56

首先是打开 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);
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。