importConfig static method
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();
}