Flutter日志美化插件galileo_pretty_logging的使用

Flutter日志美化插件galileo_pretty_logging的使用

介绍

galileo_pretty_logging 是一个用于在 Flutter 中美化日志输出的插件。它通过 pkg:io AnsiCode 提供了彩色的日志输出功能。

Pub

安装

在项目的 pubspec.yaml 文件中添加依赖:

dependencies:
  pretty_logging: 1.0.0

然后运行以下命令以安装依赖:

flutter pub get

使用

基本用法

基本的使用非常简单,只需将日志记录器的 onRecord 流监听器绑定到 prettyLog 函数即可:

import 'package:logging/logging.dart';
import 'package:galileo_pretty_logging/galileo_pretty_logging.dart';

void main() {
  // 初始化日志记录器
  Logger.root
    ..level = Level.ALL // 设置日志级别为 ALL
    ..onRecord.listen(prettyLog) // 将日志记录绑定到 prettyLog
    ..info('Hey!') // 输出信息日志
    ..finest('Bye!') // 输出最详细的日志
    ..severe('Oops!', StateError('Wrong!'), StackTrace.current); // 输出严重错误日志
}

高级用法

你可以根据需要自定义日志的打印行为,例如选择颜色、过滤特定类型的日志或更改打印函数。

import 'package:logging/logging.dart';
import 'package:galileo_pretty_logging/galileo_pretty_logging.dart';

void main() {
  var pretty = prettyLog(
    logColorChooser: (_) => red, // 设置所有日志的颜色为红色
    printFunction: stderr.writeln, // 使用标准错误流打印日志
    omitError: (r) {
      // 过滤掉 AngelHttpException 类型且状态码不为 500 的错误日志
      var err = r.error;
      return err is AngelHttpException && err.statusCode != 500;
    },
  );

  Logger.root
    ..level = Level.ALL
    ..onRecord.listen(pretty) // 绑定自定义的日志处理函数
    ..info('Info Message')
    ..severe('Error Message', StateError('Custom Error'), StackTrace.current);
}

示例代码

以下是完整的示例代码,演示了如何使用 galileo_pretty_logging 插件:

// example/main.dart
import 'package:logging/logging.dart';
import 'package:galileo_pretty_logging/galileo_pretty_logging.dart';

void main() {
  Logger.root
    ..level = Level.ALL // 设置日志级别为 ALL
    ..onRecord.listen(prettyLog) // 将日志记录绑定到 prettyLog
    ..info('Hey!') // 输出信息日志
    ..finest('Bye!') // 输出最详细的日志
    ..severe('Oops!', StateError('Wrong!'), StackTrace.current); // 输出严重错误日志
}

运行上述代码后,你会看到带有颜色的日志输出。例如:

[INFO] Hey!
[FINER] Bye!
[SEVERE] Oops!
StateError: Wrong!
#0      main.<anonymous closure>.<anonymous closure> (file:///path/to/main.dart:11:38)

更多关于Flutter日志美化插件galileo_pretty_logging的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter日志美化插件galileo_pretty_logging的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


galileo_pretty_logging 是一个用于美化 Flutter 应用日志输出的插件。它可以帮助开发者以更清晰、更易读的方式查看日志信息。以下是如何在 Flutter 项目中使用 galileo_pretty_logging 插件的步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 galileo_pretty_logging 依赖:

dependencies:
  flutter:
    sdk: flutter
  galileo_pretty_logging: ^1.0.0

然后运行 flutter pub get 来获取依赖。

2. 初始化日志记录器

在你的 Flutter 应用的 main.dart 文件中,初始化 galileo_pretty_logging 日志记录器。通常,你可以在 main 函数中设置它:

import 'package:flutter/material.dart';
import 'package:galileo_pretty_logging/galileo_pretty_logging.dart';

void main() {
  // 初始化日志记录器
  PrettyLogging.init();

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

3. 使用日志记录器

在你的代码中,你可以使用 PrettyLogging 来记录日志。它提供了不同级别的日志记录方法,如 debug, info, warning, error 等。

import 'package:flutter/material.dart';
import 'package:galileo_pretty_logging/galileo_pretty_logging.dart';

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // 记录不同级别的日志
    PrettyLogging.debug('This is a debug message');
    PrettyLogging.info('This is an info message');
    PrettyLogging.warning('This is a warning message');
    PrettyLogging.error('This is an error message');

    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Demo Home Page'),
      ),
      body: Center(
        child: Text('Hello, world!'),
      ),
    );
  }
}

4. 自定义日志输出

galileo_pretty_logging 允许你自定义日志的输出格式和颜色。你可以在初始化时传递一个 PrettyLoggingOptions 对象来进行配置:

void main() {
  // 自定义日志输出
  PrettyLogging.init(
    PrettyLoggingOptions(
      showTime: true, // 显示时间
      showEmoji: true, // 显示表情符号
      colors: true, // 启用颜色
    ),
  );

  runApp(MyApp());
}

5. 运行应用

现在,你可以运行你的 Flutter 应用,并在控制台中看到美化后的日志输出。

flutter run

示例输出

在控制台中,你可能会看到类似以下的输出:

🕒 [2023-10-05 12:34:56.789] 🐛 DEBUG: This is a debug message
🕒 [2023-10-05 12:34:56.790] ℹ️ INFO: This is an info message
🕒 [2023-10-05 12:34:56.791] ⚠️ WARNING: This is a warning message
🕒 [2023-10-05 12:34:56.792] ❌ ERROR: This is an error message
回到顶部