Flutter日志管理插件flutter_kit_log的使用

Flutter日志管理插件flutter_kit_log的使用

flutter_kit_log 是一个用于管理Flutter应用日志的组件化库。它可以帮助开发者更好地记录和查看应用的日志信息。

使用

创建相关账号

  1. 登入Firebase控制台。

配置Android

  1. 在Firebase控制台,创建Android应用。
  2. 下载 google-services.json 文件,并将其放置在 android/app 目录下。
  3. 修改 android/build.gradle 文件,添加以下内容:
buildscript {
    repositories {
        google()  
        mavenCentral() 
    }
    dependencies {
        // 添加这一行
        classpath 'com.google.gms:google-services:4.4.2'
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.8' // Crashlytics 插件
    }
}
  1. 修改 android/app/build.gradle 文件,添加以下内容:
plugins {
    id "com.google.gms.google-services" // 添加这一行
    id "com.google.firebase.crashlytics"// 添加这一行
}

android {
    buildTypes {
        release {
            // 添加这一行
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    } 
}

配置iOS

  1. 在Firebase控制台,创建iOS应用。
  2. 下载 GoogleService-Info.plist 文件,并将其放置在 ios/Runner 目录下。
  3. 修改 ios/Podfile 文件,运行 pod install 安装依赖:
platform :ios, '13.0'
pod install
  1. 在Xcode中进行一些配置,确保自动上传调试符号(dSYM)文件到Firebase控制台:

    • 设置 Xcode 为您的 build 生成 dSYM:

      • Xcode -> Runner.xcodeproj -> targets -> Building Settings -> All
      • 搜索 debug information format
      • 对所有 build,将 Debug Information Format(调试信息格式) 设置为 DWARF with dSYM File
    • 设置 Xcode 可以处理您的 dSYM 并上传文件:

      • Xcode -> Runner.xcodeproj -> targets -> Build Phases -> + -> New Run Script Phase -> Run Script:

        /bin/sh "${SRCROOT}/Pods/FirebaseCrashlytics/run"
        
      • Input Files:

        ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
        ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}
        ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist
        $(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist
        $(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
        
      • 确保这个新运行脚本被放在最后,否则 Crashlytics 将无法正确处理 dSYM。

使用 flutter_kit_log

在Flutter项目中使用 flutter_kit_log 插件,首先需要将其添加到 pubspec.yaml 文件中:

dependencies:
  flutter_kit_log: ^1.0.0 # 请替换为最新版本号

然后,在你的 Dart 文件中导入并使用该插件:

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

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Flutter Kit Log Demo')),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              // 记录一条日志
              FlutterKitLog.log("This is a test log message");
            },
            child: Text('Record Log'),
          ),
        ),
      ),
    );
  }
}

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

1 回复

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


flutter_kit_log 是一个用于 Flutter 应用的日志管理插件,它可以帮助开发者更方便地记录和管理应用中的日志信息。以下是如何使用 flutter_kit_log 插件的详细步骤:

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  flutter_kit_log: ^1.0.0  # 请使用最新版本

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

2. 初始化日志管理器

在你的应用的 main.dart 文件中,初始化 flutter_kit_log 插件:

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

void main() {
  // 初始化日志管理器
  FlutterKitLog.init(
    logLevel: LogLevel.DEBUG, // 设置日志级别
    enableConsoleOutput: true, // 是否在控制台输出日志
    enableFileOutput: true, // 是否将日志写入文件
    logDirectory: 'logs', // 日志文件存储目录
  );

  runApp(MyApp());
}

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

3. 使用日志管理器

在你的应用代码中,你可以使用 FlutterKitLog 来记录日志:

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

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

    return Scaffold(
      appBar: AppBar(
        title: Text("Flutter Kit Log Demo"),
      ),
      body: Center(
        child: Text("Check the console or log files for messages."),
      ),
    );
  }
}

4. 日志级别

flutter_kit_log 支持以下日志级别:

  • LogLevel.DEBUG: 用于调试信息。
  • LogLevel.INFO: 用于一般信息。
  • LogLevel.WARNING: 用于警告信息。
  • LogLevel.ERROR: 用于错误信息。

你可以通过 FlutterKitLog.init 方法中的 logLevel 参数来设置日志级别,只有等于或高于该级别的日志才会被记录。

5. 日志文件管理

如果你启用了文件输出 (enableFileOutput: true),日志将被写入到指定的目录中。你可以通过 logDirectory 参数来指定日志文件的存储目录。

6. 清理日志文件

你可以使用 FlutterKitLog.clearLogs() 方法来清理日志文件:

FlutterKitLog.clearLogs();

7. 获取日志文件路径

你可以使用 FlutterKitLog.getLogFilePath() 方法来获取日志文件的路径:

String logFilePath = FlutterKitLog.getLogFilePath();
print("Log file path: $logFilePath");

8. 自定义日志格式

flutter_kit_log 允许你自定义日志的格式。你可以通过 FlutterKitLog.init 方法中的 formatter 参数来指定自定义的日志格式化函数。

FlutterKitLog.init(
  logLevel: LogLevel.DEBUG,
  enableConsoleOutput: true,
  enableFileOutput: true,
  logDirectory: 'logs',
  formatter: (LogLevel level, String message) {
    return "[${DateTime.now()}] [$level] $message";
  },
);

9. 禁用日志输出

如果你想要临时禁用日志输出,可以调用 FlutterKitLog.disable() 方法:

FlutterKitLog.disable();

要重新启用日志输出,可以调用 FlutterKitLog.enable() 方法:

FlutterKitLog.enable();
回到顶部