Flutter日志管理插件wuchuheng_logger的使用

wuchuheng_logger

这是一个用于dart的日志库

功能 #

  • 错误日志
  • 信息日志

开始使用 #

用法 #

import 'package:wuchuheng_logger/src/index.dart';

void main() { // 使用Logger.info方法记录信息日志 Logger.info(‘Hello logger for info.’, symbol: ‘print’); // 输出: INFO 2022-08-20 12:47:24.401546: Hello logger for info. file://wuchuheng_logger/example/wuchuheng_logger_example.dart:4:10 symbol: print

// 使用Logger.error方法记录错误日志
Logger.error('Hello logger for error.', symbol: 'print');
// 输出: ERROR 2022-08-20 12:47:24.405646: Hello logger for error. file://wuchuheng_logger/example/wuchuheng_logger_example.dart:5:10 symbol: print

// 订阅日志
final subscribeHandle = Logger.subscribe((loggerItem) {
    // 打印日志消息
    print(loggerItem.message);
    // 打印日志符号
    print(loggerItem.symbol);
    // 打印日志类型
    print(loggerItem.type);
});

// 取消订阅
subscribeHandle.unsubscribe();

}

其他信息 #

贡献到包,如何提交问题,可以期待包作者的响应等。

```

示例代码

example/wuchuheng_logger_example.dart

import 'package:wuchuheng_logger/src/index.dart';

void main() { // 使用Logger.info方法记录信息日志 Logger.info(‘Hello logger for info.’, symbol: ‘print’); // 输出: INFO 2022-08-20 12:47:24.401546: Hello logger for info. file://wuchuheng_logger/example/wuchuheng_logger_example.dart:4:10 symbol: print

// 使用Logger.error方法记录错误日志 Logger.error(‘Hello logger for error.’, symbol: ‘print’); // 输出: ERROR 2022-08-20 12:47:24.405646: Hello logger for error. file://wuchuheng_logger/example/wuchuheng_logger_example.dart:5:10 symbol: print

// 订阅日志 final subscribeHandle = Logger.subscribe((loggerItem, _) { // 打印日志消息 print(loggerItem.message); // 打印日志符号 print(loggerItem.symbol); // 打印日志类型 print(loggerItem.type); });

// 取消订阅 subscribeHandle.unsubscribe(); }


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

1 回复

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


当然,以下是如何在Flutter项目中使用wuchuheng_logger插件来进行日志管理的示例代码。wuchuheng_logger是一个功能强大的日志管理插件,支持多级别日志记录、日志格式化、输出到文件或控制台等功能。

1. 添加依赖

首先,在你的pubspec.yaml文件中添加wuchuheng_logger的依赖:

dependencies:
  flutter:
    sdk: flutter
  wuchuheng_logger: ^最新版本号  # 替换为实际最新版本号

然后运行flutter pub get来安装依赖。

2. 初始化Logger

在你的应用程序的入口文件(通常是main.dart)中初始化Logger。

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

void main() {
  // 初始化Logger
  Logger.init(
    level: LogLevel.verbose,  // 设置日志级别
    logToFile: true,          // 是否将日志输出到文件
    logFilePath: '/storage/emulated/0/Download/app_logs.txt',  // 日志文件路径
    printLogToConsole: true,  // 是否将日志输出到控制台
    logFormatter: defaultLogFormatter,  // 日志格式化器
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Flutter Logger Demo'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              // 测试日志输出
              Logger.v('这是一条 Verbose 日志');
              Logger.d('这是一条 Debug 日志');
              Logger.i('这是一条 Info 日志');
              Logger.w('这是一条 Warning 日志');
              Logger.e('这是一条 Error 日志');
            },
            child: Text('输出日志'),
          ),
        ),
      ),
    );
  }
}

3. 自定义日志格式化器(可选)

你可以根据需要自定义日志格式化器。以下是一个简单的示例,展示了如何自定义日志格式:

import 'package:wuchuheng_logger/wuchuheng_logger.dart';
import 'dart:core';

// 自定义日志格式化器
String customLogFormatter(LogLevel level, String message, DateTime dateTime) {
  return '[${dateTime.toIso8601String()}] [${level.name}] $message\n';
}

void main() {
  // 初始化Logger,使用自定义日志格式化器
  Logger.init(
    level: LogLevel.verbose,
    logToFile: true,
    logFilePath: '/storage/emulated/0/Download/app_logs.txt',
    printLogToConsole: true,
    logFormatter: customLogFormatter,
  );

  runApp(MyApp());
}

4. 运行应用

现在你可以运行你的Flutter应用,点击按钮后,你应该能够在控制台和指定的日志文件中看到不同级别的日志输出。

注意事项

  1. 权限问题:如果你的应用将日志写入外部存储(如示例中的/storage/emulated/0/Download/),请确保在AndroidManifest.xml中添加了相应的权限,并在运行时请求这些权限。

  2. 日志级别LogLevel 枚举包括 verbose, debug, info, warn, 和 error。你可以根据需要调整日志级别来控制日志输出的详细程度。

  3. 文件路径:在Android设备上,建议使用应用私有存储路径(如通过getExternalFilesDir获取的路径)来避免权限问题。

通过以上步骤,你应该能够在Flutter项目中成功使用wuchuheng_logger插件进行日志管理。

回到顶部