importConfig static method

void importConfig(
  1. Map<String, dynamic> configData
)

Imports and applies configurations exported via exportConfig.

This registers all configurations, merging/overwriting any existing ones and invalidating cache keys.

Implementation

static void importConfig(final Map<String, dynamic> configData) {
  final registryMap = configData['registry'] as Map<dynamic, dynamic>?;
  if (registryMap != null) {
    for (final entry in registryMap.entries) {
      final name = entry.key as String;
      final configJson = entry.value as Map<dynamic, dynamic>;
      final config =
          LoggerConfig.fromJson(Map<String, dynamic>.from(configJson));
      _registry[name] = config;
    }
  }

  final patternRulesList = configData['patternRules'] as List<dynamic>?;
  if (patternRulesList != null) {
    _patternRules.clear();
    for (final ruleObj in patternRulesList) {
      final ruleMap = ruleObj as Map<dynamic, dynamic>;
      final pattern = ruleMap['pattern'] as String;
      final configJson = ruleMap['config'] as Map<dynamic, dynamic>;
      final config =
          LoggerConfig.fromJson(Map<String, dynamic>.from(configJson));
      final regExp = _patternToRegExp(pattern);
      _patternRules.add(
        _PatternRule(
          pattern: pattern,
          regExp: regExp,
          config: config,
        ),
      );
    }
  }

  LoggerCache.clear();
}