Mr.*_*Oak 5 logging singleton global dart flutter
我想在我的应用程序中使用Logger库。我只想实例化它一次,以便在我的应用程序中具有一致的格式。我还想避免PrettyPrinter()多次实例化:
// Where should I put this ?
var logger = Logger(
  printer: PrettyPrinter(
    methodCount: 2,
    colors: true,
  ),
);
这样做的正确方法是什么?我应该只使用全局常量吗?有没有办法使用单例来做到这一点?
Jac*_*ck' 11
我更喜欢使用Singleton。
这在 Flutter 中并不常见,但在这种场景下选择它是非常有意义的。必须在任何地方都可以访问记录器,无需任何上下文。并且可以让它保持活动状态直到应用程序生命周期结束。
我的建议是创建一个log.dart包含以下内容的文件:
import 'package:logger/logger.dart';
Logger get logger => Log.instance;
class Log extends Logger {
  Log._() : super(printer: PrettyPrinter(printTime: true));
  static final instance = Log._();
}
然后,您可以通过以下方式在任何地方访问您的记录器:
logger.d('My debug message');
| 归档时间: | 
 | 
| 查看次数: | 1776 次 | 
| 最近记录: |