diff --git a/Network/Wai/Logger.hs b/Network/Wai/Logger.hs
--- a/Network/Wai/Logger.hs
+++ b/Network/Wai/Logger.hs
@@ -45,8 +45,10 @@
   , showSockAddr
   , logCheck
   -- * Backward compability
-  , ZonedDate
   , clockDateCacher
+  , ZonedDate
+  , DateCacheGetter
+  , DateCacheUpdater
   ) where
 
 #if __GLASGOW_HASKELL__ < 709
@@ -120,9 +122,23 @@
 
 ---------------------------------------------------------------
 
+-- | Getting cached 'ZonedDate'.
+type DateCacheGetter = IO ZonedDate
+
+-- | Updateing cached 'ZonedDate'. This should be called every second.
+--   See the source code of 'withStdoutLogger'.
+type DateCacheUpdater = IO ()
+
+-- | A type for zoned date.
 type ZonedDate = FormattedTime
 
-clockDateCacher :: IO (IO ZonedDate, IO ())
+-- |
+-- Returning 'DateCacheGetter' and 'DateCacheUpdater'.
+--
+-- Note: Since version 2.1.2, this function uses the auto-update package
+-- internally, and therefore the @DateCacheUpdater@ value returned need
+-- not be called. To wit, the return value is in fact an empty action.
+clockDateCacher :: IO (DateCacheGetter, DateCacheUpdater)
 clockDateCacher = do
     tgetter <- newTimeCache simpleTimeFormat
     return (tgetter, return ())
diff --git a/wai-logger.cabal b/wai-logger.cabal
--- a/wai-logger.cabal
+++ b/wai-logger.cabal
@@ -1,5 +1,5 @@
 Name:                   wai-logger
-Version:                2.2.6
+Version:                2.2.7
 Author:                 Kazu Yamamoto <kazu@iij.ad.jp>
 Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp>
 License:                BSD3
