flutter 日志插件如何使用
在Flutter项目中想集成日志功能,看到官方推荐使用logging插件但不太清楚具体用法。请问如何正确安装和配置这个插件?需要实现日志分级输出到控制台和文件,最好能按日期滚动记录。能否提供一个完整的初始化示例代码?另外想知道如何自定义日志格式,比如添加时间戳和调用栈信息。
2 回复
Flutter 日志插件推荐使用 logger,简单好用:
- 安装依赖
dependencies:
logger: ^1.1.0
- 基础使用
import 'package:logger/logger.dart';
final logger = Logger();
// 打印不同级别日志
logger.v('Verbose日志'); // 详细日志
logger.d('Debug日志'); // 调试日志
logger.i('Info日志'); // 信息日志
logger.w('Warning日志'); // 警告日志
logger.e('Error日志'); // 错误日志
logger.wtf('WTF日志'); // 严重错误
- 高级配置
var logger = Logger(
printer: PrettyPrinter(
methodCount: 0, // 隐藏方法调用堆栈
colors: true, // 彩色输出
),
);
- 输出效果 控制台会显示带颜色和时间戳的格式化日志,调试时特别方便。
注意:生产环境建议关闭详细日志,可通过设置不同日志级别过滤。
更多关于flutter 日志插件如何使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在 Flutter 中,常用的日志插件是 logger,它提供了美观且功能丰富的日志输出。以下是详细使用方法:
1. 添加依赖
在 pubspec.yaml 文件中添加:
dependencies:
logger: ^2.0.0+1
运行 flutter pub get 安装。
2. 基本使用
import 'package:logger/logger.dart';
// 创建 Logger 实例
var logger = Logger();
void main() {
logger.d("Debug message"); // 调试信息(蓝色)
logger.i("Info message"); // 普通信息(绿色)
logger.w("Warning message"); // 警告(橙色)
logger.e("Error message"); // 错误(红色)
logger.v("Verbose message"); // 详细信息(灰色)
}
3. 高级配置
自定义日志格式和输出方式:
var logger = Logger(
printer: PrettyPrinter(
methodCount: 0, // 隐藏方法调用堆栈
errorMethodCount: 5, // 错误时显示5行堆栈
colors: true, // 启用颜色
printEmojis: false, // 禁用表情符号
),
);
4. 输出到文件(示例)
结合 path_provider 保存日志到本地:
import 'package:path_provider/path_provider.dart';
void saveLog(String message) async {
final dir = await getApplicationDocumentsDirectory();
final file = File('${dir.path}/app.log');
await file.writeAsString('$message\n', mode: FileMode.append);
}
// 使用示例
logger.i("用户登录成功", null, saveLog);
5. 过滤日志级别
生产环境中可屏蔽低级别日志:
var logger = Logger(
filter: ProductionFilter(), // 仅输出 Error 级别以上
);
主要特性
- 🌈 彩色控制台输出
- 📝 支持自定义格式
- 🚀 显示调用堆栈
- 📤 可扩展输出目标(文件、网络等)
建议在开发阶段使用 PrettyPrinter,生产环境使用 SimplePrinter 或自定义过滤器以减少性能开销。

