logger: add question mark for query strings
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9f6208b..1e6d40c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.6.1+2
+
+* `logRequests` outputs a better message a request has a query string.
+
 ## 0.6.1+1
 
 * Don't throw a bogus exception for `null` responses.
@@ -116,9 +120,9 @@
 
 * Access to headers for `Request` and `Response` is now case-insensitive.
 
-* The constructor for `Request` has been simplified. 
+* The constructor for `Request` has been simplified.
 
-* `Request` now exposes `url` which replaces `pathInfo`, `queryString`, and 
+* `Request` now exposes `url` which replaces `pathInfo`, `queryString`, and
   `pathSegments`.
 
 ## 0.3.0+9
diff --git a/lib/src/handlers/logger.dart b/lib/src/handlers/logger.dart
index c42ee79..4bb34b7 100644
--- a/lib/src/handlers/logger.dart
+++ b/lib/src/handlers/logger.dart
@@ -50,10 +50,14 @@
   };
 };
 
+String _formatQuery(String query) {
+  return query == '' ? '' : '?$query';
+}
+
 String _getMessage(DateTime requestTime, int statusCode, Uri requestedUri,
     String method, Duration elapsedTime) {
   return '${requestTime}\t$elapsedTime\t$method\t[${statusCode}]\t'
-      '${requestedUri.path}${requestedUri.query}';
+      '${requestedUri.path}${_formatQuery(requestedUri.query)}';
 }
 
 String _getErrorMessage(DateTime requestTime, Uri requestedUri, String method,
@@ -65,7 +69,7 @@
   }
 
   var msg = '${requestTime}\t$elapsedTime\t$method\t${requestedUri.path}'
-      '${requestedUri.query}\n$error';
+      '${_formatQuery(requestedUri.query)}\n$error';
   if (chain == null) return msg;
 
   return '$msg\n$chain';
diff --git a/pubspec.yaml b/pubspec.yaml
index db9ae1f..22acb7f 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: shelf
-version: 0.6.1+1
+version: 0.6.1+2
 author: Dart Team <misc@dartlang.org>
 description: Web Server Middleware for Dart
 homepage: https://github.com/dart-lang/shelf