initialize<AppState> static method

void initialize<AppState>(
  1. AFDartParams? p
)

Implementation

static void initialize<AppState>(AFDartParams? p) {
  //Logger.root.level = Level.ALL;
  //Logger.root.onRecord.listen((LogRecord rec) {
  //  print('${rec.level.name}: ${rec.time}: ${rec.message}');
  //});

  // the params are null when we run the bin/afib.dart command, which doesn't have any configuration information.
  if(p != null) {
    // first do the separate initialization that just says what environment it is, since this
    config.establishDefaults();
    p.configureAfib(AFibD.config);
    if(p.forceEnv != null) {
      AFibD.config.setValue(AFConfigEntryEnvironment.optionName, p.forceEnv);
    }
    p.configureAppConfig(AFibD.config);
    final env = AFibD.config.environment;
    if(env == AFEnvironment.debug) {
      p.configureDebugConfig(AFibD.config);
    } else if(env == AFEnvironment.production) {
      p.configureProductionConfig(AFibD.config);
    } else if(AFibD.config.isPrototypeEnvironment) {
      p.condfigurePrototypeConfig(AFibD.config);
    } else if(env == AFEnvironment.test) {
      p.configureTestConfig(AFibD.config);
    }
  }

  var logsEnabled = AFibD.config.logsEnabled;
  for(final area in logsEnabled) {
    if(area == AFConfigEntryLogArea.commentOption) {
      break;
    }
    final logger = Logger(printer: AFLogPrinter(area));
    logs[area] = logger;
  }

  final configLog = AFibD.logConfigAF;
  if(configLog != null) {
    for(final item in AFibD.configEntries) {
      configLog.d("${item.name} = ${AFibD.config.valueFor(item)}");
    }
  }

  }