import 'package:flutter/material.dart'; import 'package:logging/logging.dart'; import 'package:redux/redux.dart'; import 'package:redux_logging/redux_logging.dart'; import 'globals.dart' as globals; import 'mainCommon.dart'; enum LogLevel { none, actions, all } LoggingMiddleware customLogPrinter({ Logger logger, Level level = Level.INFO, MessageFormatter formatter = LoggingMiddleware.singleLineFormatter, }) { final middleware = new LoggingMiddleware( logger: logger, level: level, formatter: formatter, ); middleware.logger.onRecord .where((record) => record.loggerName == middleware.logger.name) .listen((Object object) { debugPrint("$object"); }); return middleware; } void main() { globals.isDevelopment = true; print("Is development!"); String onlyLogActionFormatter( State state, dynamic action, DateTime timestamp, ) { return ">>>>> ${action.toString().replaceAll('Instance of ', '')}"; } LogLevel logRedux = LogLevel.actions; List devMiddlewares = logRedux == LogLevel.actions ? [] : [ customLogPrinter( formatter: logRedux == LogLevel.all ? LoggingMiddleware.multiLineFormatter : onlyLogActionFormatter) ]; mainCommon(devMiddlewares); }