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 或自定义过滤器以减少性能开销。
        
      
            
            
            
