log method

  1. @override
void log(
  1. LogLevel level,
  2. String message, {
  3. Map<String, dynamic>? context,
  4. StackTrace? stackTrace,
})
override

Implementation

@override
void log(
  LogLevel level,
  String message, {
  Map<String, dynamic>? context,
  StackTrace? stackTrace,
}) {
  if (!level.isAtLeast(_minimumLevel)) return;

  final timestamp = DateTime.now().toIso8601String();
  final levelStr = level.toString().split('.').last.toUpperCase();

  var logMessage = '[$timestamp] [$levelStr] $message';

  if (_colorize) {
    logMessage = _colorize ? _colorizeMessage(level, logMessage) : logMessage;
  }

  stdout.writeln(logMessage);

  if (context != null) {
    stdout.writeln('Context: ${jsonEncode(context)}');
  }

  if (stackTrace != null) {
    stdout.writeln('Stack Trace:\n$stackTrace');
  }
}