getLogger static method
Implementation
static OpenFeatureLogger getLogger(String name) {
final config = _configs[name] ?? _configs['default'];
if (config == null) {
throw StateError('No logger configuration found');
}
final logger = DefaultLogger(name);
hierarchicalLoggingEnabled = true;
Logger.root.level = config.level;
if (config.customHandler != null) {
Logger.root.onRecord.listen((record) {
final entry = StructuredLogEntry(
level: record.level,
message: record.message,
timestamp: record.time,
error: record.error?.toString(),
stackTrace: config.includeStackTraces ? record.stackTrace : null,
context: {
'loggerName': record.loggerName,
'sequenceNumber': record.sequenceNumber,
},
);
config.customHandler!(entry);
});
}
return logger;
}