log method

  1. @override
void log(
  1. LogLevel level,
  2. String message, [
  3. List? args
])
override

Log a message at the specified level

Implementation

@override
void log(LogLevel level, String message, [List<dynamic>? args]) {
  if (level.value < _level.value) return;

  final timestamp = _formatDate(DateTime.now());
  final formattedMessage =
      _formatMessage([message, if (args != null) ...args]);

  final logMessage = LogMessage(
    level: level,
    content: ['$timestamp $formattedMessage'],
    extra: _options?.hostInfo,
  );

  debugPrint(logMessage.toString());

  for (final consumer in _consumers) {
    try {
      consumer(logMessage);
    } catch (e) {
      debugPrint('[Logger] Consumer error: $e');
    }
  }
}