Flutter日志输出插件logger_console的使用

发布于 1周前 作者 caililin 来自 Flutter

Flutter日志输出插件logger_console的使用

使用说明

  1. 下载 ServerLog 应用程序用于 Mac OS、Windows 和 Linux。 下载链接

  2. main.dart 中设置 logEnable = true 以启用发布模式的日志记录。

Console.logEnable = true;
  1. 如果使用 Android 设备,请连接到 ServerLog 应用程序桌面服务器的 IP 地址。
Console.host = "Server Log IP";
  1. 自定义主机地址:
Console.uri = "your-custom-host";

示例代码

import 'package:flutter/material.dart';
import 'package:logger_console/logger_console.dart';
import 'test_data.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  void onLogPress() {
    Console.host = "1 your custom host address here ";
    Console.log("%c Hello World", "color: red; font-size: 20px");
    Console.log("%cTodoList", 'color: green; font-weight: bold;', todos);
  }

  void onLogInfoPress() {
    Console.info("%cLog Info::", 'color: green; font-weight: bold;', todos, StackTrace.current);
  }

  void onLogWarnPress() {
    Console.warn("Not Found");
  }

  void onLogErrorPress() {
    Console.error("Server Error");
  }

  void onLogGroupPress() {
    Console.group("TodoList");
    Console.log("todos", todos);
    Console.count("count call");
    Console.groupEnd();
  }

  void onLogGroupCollapsedPress() {
    Console.groupCollapsed("%cTodoList:::", "color: green; font-weight: bold");
    Console.log("todos", todos);
    Console.count("count call");
    Console.groupEnd();
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Flutter Demo Home Page'),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: [
            ElevatedButton(
              onPressed: onLogPress,
              child: const Text("Console.log"),
            ),
            const SizedBox(height: 116),
            ElevatedButton(
              onPressed: onLogInfoPress,
              child: const Text("Console.info"),
            ),
            const SizedBox(height: 116),
            ElevatedButton(
              onPressed: onLogWarnPress,
              child: const Text("Console.warn"),
            ),
            const SizedBox(height: 116),
            ElevatedButton(
              onPressed: onLogErrorPress,
              child: const Text("Console.error"),
            ),
            const SizedBox(height: 116),
            ElevatedButton(
              onPressed: onLogGroupPress,
              child: const Text("Console.group"),
            ),
            const SizedBox(height: 116),
            ElevatedButton(
              onPressed: onLogGroupCollapsedPress,
              child: const Text("Console.groupCollapsed"),
            ),
          ],
        ),
      ),
    );
  }
}

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

1 回复

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


当然,下面是一个关于如何在Flutter项目中使用logger_console插件来进行日志输出的代码示例。logger_console插件允许你将日志输出到控制台,这在开发和调试过程中非常有用。

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  logger_console: ^0.1.0  # 请检查最新版本号

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

2. 导入插件

在你的Dart文件中导入logger_console插件:

import 'package:logger_console/logger_console.dart';

3. 配置和使用

下面是一个完整的示例,展示了如何配置和使用logger_console来输出日志:

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

void main() {
  // 初始化 LoggerConsole
  LoggerConsole.init();

  runApp(MyApp());
}

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

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  void initState() {
    super.initState();

    // 输出不同类型的日志
    LoggerConsole.log('This is a log message.');
    LoggerConsole.info('This is an info message.');
    LoggerConsole.warn('This is a warning message.');
    LoggerConsole.error('This is an error message.');
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Logger Console Demo'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'You should see log messages in the console.',
            ),
          ],
        ),
      ),
    );
  }
}

4. 运行应用

确保你的开发环境已经正确配置,然后运行你的Flutter应用:

flutter run

当你运行应用时,你应该能够在控制台中看到类似以下的日志输出:

[LOG]  This is a log message.
[INFO] This is an info message.
[WARN] This is a warning message.
[ERROR] This is an error message.

注意事项

  • 确保logger_console插件的版本与你的Flutter环境兼容。
  • 你可以根据需要调整日志的格式和输出级别。
  • logger_console插件主要用于开发和调试阶段,生产环境中可能需要更复杂的日志管理解决方案。

希望这个示例能够帮助你理解如何在Flutter项目中使用logger_console插件来输出日志。

回到顶部