log method
Future<void>
log(
- LogLevel level,
- Object message, {
- Object? error,
- StackTrace? stackTrace,
- String? context,
Emits a log event at level and fans it out to all registered transports.
message can be any object; transports call toString when needed.
error and stackTrace attach exception details to the event.
context is an optional source label (e.g. class or module name).
Implementation
Future<void> log(
LogLevel level,
Object message, {
Object? error,
StackTrace? stackTrace,
String? context,
}) async {
if (level == LogLevel.silent) {
throw ArgumentError.value(
level,
'level',
'LogLevel.silent is a threshold sentinel and cannot be used to emit events.',
);
}
final event = LogEvent(
level: level,
message: message,
error: error,
stackTrace: stackTrace,
context: context,
);
await Future.wait(transports.map((t) => t.log(event)));
}