format method

  1. @override
String format(
  1. LogEntry entry
)
override

Format a log entry into a string

Implementation

@override
String format(LogEntry entry) {
  final buffer = StringBuffer();

  // Timestamp
  if (includeTimestamp) {
    final timestamp = timestampFormat?.call(entry.timestamp) ??
        _defaultTimestampFormat(entry.timestamp);
    buffer.write('[$timestamp] ');
  }

  // Log level
  if (includeLevel) {
    buffer.write('[${entry.level.name}] ');
  }

  // Logger name
  if (includeLoggerName && entry.loggerName != null) {
    buffer.write('[${entry.loggerName}] ');
  }

  // Tag
  if (includeTag && entry.tag != null) {
    buffer.write('[${entry.tag}] ');
  }

  // Message
  buffer.write(entry.message);

  // Error
  if (entry.error != null) {
    buffer.write('\nError: ${entry.error}');
  }

  // Stack trace
  if (entry.stackTrace != null) {
    buffer.write('\nStack trace:\n${entry.stackTrace}');
  }

  // Context
  if (entry.context.isNotEmpty) {
    buffer.write('\nContext: ${entry.context}');
  }

  return buffer.toString();
}