log method

void log(
  1. String message, {
  2. LogLevel logLevel = LogLevel.trace,
  3. Fault? fault,
  4. Map<String, dynamic>? structuredData,
  5. StackTrace? stackTrace,
  6. List<String>? tags,
})

Iterates through transports and logs the message

Implementation

void log(
  String message, {
  LogLevel logLevel = LogLevel.trace,
  Fault? fault,
  Map<String, dynamic>? structuredData,
  StackTrace? stackTrace,
  List<String>? tags,
}) {
  final mergedData = {...bindings, ...?structuredData};
  final processedMessage = processTemplate(message, mergedData);

  final logMessage = (
    message: processedMessage,
    logLevel: logLevel,
    fault: fault,
    tags: [...extraTags, ...?tags],
    structuredData: mergedData.isEmpty ? null : mergedData,
    stackTrace: stackTrace,
    timestamp: DateTime.now().toUtc(),
  );

  for (final transport in transports) {
    transport.log(logMessage, minimumLogLevel);
  }
}