diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 3.0.10
+
+* Adding Request Body to RequestLogger [#401](https://github.com/yesodweb/wai/pull/401)
+
 ## 3.0.9
 
 * Network.Wai.Middleware.Routed module added
diff --git a/Network/Wai/Middleware/RequestLogger.hs b/Network/Wai/Middleware/RequestLogger.hs
--- a/Network/Wai/Middleware/RequestLogger.hs
+++ b/Network/Wai/Middleware/RequestLogger.hs
@@ -44,6 +44,7 @@
 import Data.Default.Class (Default (def))
 import Network.Wai.Logger
 import Network.Wai.Middleware.RequestLogger.Internal
+import Data.Text.Encoding (decodeUtf8')
 
 data OutputFormat = Apache IPAddrSource
                   | Detailed Bool -- ^ use colors?
@@ -222,6 +223,8 @@
                  return (req', body)
             _ -> return (req, [])
 
+    let reqbodylog _ = if null body then [""] else ansiColor White "  Request Body: " <> body <> ["\n"]
+        reqbody = concatMap (either (const [""]) reqbodylog . decodeUtf8') body
     postParams <- if requestMethod req `elem` ["GET", "HEAD"]
         then return []
         else do postParams <- liftIO $ allPostParams body
@@ -247,7 +250,7 @@
         -- log the status of the response
         cb $ mconcat $ map toLogStr $
             ansiMethod (requestMethod req) ++ [" ", rawPathInfo req, "\n"] ++
-            params ++
+            params ++ reqbody ++
             ansiColor White "  Accept: " ++ [accept, "\n"] ++
             if isRaw then [] else
                 ansiColor White "  Status: " ++
diff --git a/wai-extra.cabal b/wai-extra.cabal
--- a/wai-extra.cabal
+++ b/wai-extra.cabal
@@ -1,5 +1,5 @@
 Name:                wai-extra
-Version:             3.0.9
+Version:             3.0.10
 Synopsis:            Provides some basic WAI handlers and middleware.
 description:
   Provides basic WAI handler and middleware functionality:
