Use thoughtful padding for default logger – instead of tabs
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 50cc4eb..41a060c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,8 @@
 
 * Updated minimum Dart SDK to `1.24.0`, which added `FutureOr`.
 
+* Improved formatting of the `logRequests` default logger.
+
 ## 0.7.1
 
 * The `shelf_io` server now adds a `shelf.io.connection_info` field to
diff --git a/lib/src/middleware/logger.dart b/lib/src/middleware/logger.dart
index 810a927..cf10f54 100644
--- a/lib/src/middleware/logger.dart
+++ b/lib/src/middleware/logger.dart
@@ -53,7 +53,9 @@
 
 String _getMessage(DateTime requestTime, int statusCode, Uri requestedUri,
     String method, Duration elapsedTime) {
-  return '$requestTime\t$elapsedTime\t$method\t[$statusCode]\t'
+  return '${requestTime.toIso8601String()} '
+      '${elapsedTime.toString().padLeft(15)} '
+      '${method.padRight(7)} [$statusCode] ' // 7 - longest standard HTTP method
       '${requestedUri.path}${_formatQuery(requestedUri.query)}';
 }