format method

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

Formats a log entry into a string.

Implementation

@override
String format(
  LogLevel level,
  String message, {
  Map<String, dynamic>? context,
  StackTrace? stackTrace,
  DateTime? timestamp,
}) {
  final buffer = StringBuffer();

  if (_includeTimestamp) {
    final time = timestamp ?? DateTime.now();
    buffer.write('[${time.toIso8601String()}] ');
  }

  if (_includeLevel) {
    buffer.write('[${level.name.toUpperCase()}] ');
  }

  buffer.write(message);

  if (context != null && context.isNotEmpty) {
    buffer.write('\nContext: $context');
  }

  if (stackTrace != null) {
    buffer.write('\nStack Trace:\n$stackTrace');
  }

  return buffer.toString();
}