ghttp server can take an io.Writer

the server will write a line to the writer when each request is received
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0eec5a8..752f52d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,7 @@
 - Improved `ghttp`'s behavior around failing assertions and panics:
     - If a registered handler makes a failing assertion `ghttp` will return `500`.
     - If a registered handler panics, `ghttp` will return `500` *and* fail the test.  This is new behavior that may cause existing code to break.  This code is almost certainly incorrect and creating a false positive.
+- `ghttp` servers can take an `io.Writer`.  `ghttp` will write a line to the writer when each request arrives.
 
 Bug Fixes:
 - gexec: `session.Wait` now uses `EventuallyWithOffset` to get the right line number in the failure.
diff --git a/ghttp/test_server.go b/ghttp/test_server.go
index 7b4a996..fde65be 100644
--- a/ghttp/test_server.go
+++ b/ghttp/test_server.go
@@ -106,6 +106,8 @@
 package ghttp
 
 import (
+	"fmt"
+	"io"
 	"io/ioutil"
 	"net/http"
 	"net/http/httptest"
@@ -165,6 +167,11 @@
 	//Only applies if AllowUnhandledRequests is true
 	UnhandledRequestStatusCode int
 
+	//If provided, ghttp will log about each request received to the provided io.Writer
+	//Defaults to nil
+	//If you're using Ginkgo, set this to GinkgoWriter to get improved output during failures
+	Writer io.Writer
+
 	receivedRequests []*http.Request
 	requestHandlers  []http.HandlerFunc
 	routedHandlers   []routedHandler
@@ -234,6 +241,10 @@
 		Ω(e).Should(BeNil(), "Handler Panicked")
 	}()
 
+	if s.Writer != nil {
+		s.Writer.Write([]byte(fmt.Sprintf("GHTTP Received Request: %s - %s\n", req.Method, req.URL)))
+	}
+
 	s.receivedRequests = append(s.receivedRequests, req)
 	if routedHandler, ok := s.handlerForRoute(req.Method, req.URL.Path); ok {
 		s.writeLock.Unlock()
diff --git a/ghttp/test_server_test.go b/ghttp/test_server_test.go
index 25260b6..4d55b0f 100644
--- a/ghttp/test_server_test.go
+++ b/ghttp/test_server_test.go
@@ -7,6 +7,8 @@
 	"net/url"
 	"regexp"
 
+	"github.com/onsi/gomega/gbytes"
+
 	. "github.com/onsi/ginkgo"
 	. "github.com/onsi/gomega"
 	. "github.com/onsi/gomega/ghttp"
@@ -237,6 +239,24 @@
 		})
 	})
 
+	Describe("Logging to the Writer", func() {
+		var buf *gbytes.Buffer
+		BeforeEach(func() {
+			buf = gbytes.NewBuffer()
+			s.Writer = buf
+			s.AppendHandlers(func(w http.ResponseWriter, req *http.Request) {})
+			s.AppendHandlers(func(w http.ResponseWriter, req *http.Request) {})
+		})
+
+		It("should write to the buffer when a request comes in", func() {
+			http.Get(s.URL() + "/foo")
+			Ω(buf).Should(gbytes.Say("GHTTP Received Request: GET - /foo\n"))
+
+			http.Post(s.URL()+"/bar", "", nil)
+			Ω(buf).Should(gbytes.Say("GHTTP Received Request: POST - /bar\n"))
+		})
+	})
+
 	Describe("Request Handlers", func() {
 		Describe("VerifyRequest", func() {
 			BeforeEach(func() {