diff --git a/Network/Wai/Logger.hs b/Network/Wai/Logger.hs
--- a/Network/Wai/Logger.hs
+++ b/Network/Wai/Logger.hs
@@ -127,8 +127,9 @@
 logCheck LogNone          = return ()
 logCheck (LogStdout _)    = return ()
 logCheck (LogStderr _)    = return ()
-logCheck (LogFileNoRotate fp _)  = check fp
-logCheck (LogFile spec _)        = check (log_file spec)
+logCheck (LogFileNoRotate fp _)      = check fp
+logCheck (LogFile spec _)            = check (log_file spec)
+logCheck (LogFileTimedRotate spec _) = check (timed_log_file spec)
 logCheck (LogCallback _ _) = return ()
 
 ----------------------------------------------------------------
diff --git a/Network/Wai/Logger/Apache.hs b/Network/Wai/Logger/Apache.hs
--- a/Network/Wai/Logger/Apache.hs
+++ b/Network/Wai/Logger/Apache.hs
@@ -29,7 +29,7 @@
 
 -- $setup
 -- >>> :set -XOverloadedStrings
--- >>> import Network.Wai.Test
+-- >>> import Network.Wai (defaultRequest)
 
 -- | Source from which the IP source address of the client is obtained.
 data IPAddrSource =
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,2 +1,33 @@
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -Wall #-}
+module Main (main) where
+
+#ifndef MIN_VERSION_cabal_doctest
+#define MIN_VERSION_cabal_doctest(x,y,z) 0
+#endif
+
+#if MIN_VERSION_cabal_doctest(1,0,0)
+
+import Distribution.Extra.Doctest ( defaultMainWithDoctests )
+main :: IO ()
+main = defaultMainWithDoctests "doctests"
+
+#else
+
+#ifdef MIN_VERSION_Cabal
+-- If the macro is defined, we have new cabal-install,
+-- but for some reason we don't have cabal-doctest in package-db
+--
+-- Probably we are running cabal sdist, when otherwise using new-build
+-- workflow
+#warning You are configuring this package without cabal-doctest installed. \
+         The doctests test-suite will not work as a result. \
+         To fix this, install cabal-doctest before configuring.
+#endif
+
 import Distribution.Simple
+
+main :: IO ()
 main = defaultMain
+
+#endif
diff --git a/test/doctests.hs b/test/doctests.hs
--- a/test/doctests.hs
+++ b/test/doctests.hs
@@ -1,6 +1,12 @@
 module Main where
 
-import Test.DocTest
+import Build_doctests (flags, pkgs, module_sources)
+import Data.Foldable (traverse_)
+import Test.DocTest (doctest)
 
 main :: IO ()
-main = doctest ["Network"]
+main = do
+    traverse_ putStrLn args
+    doctest args
+  where
+    args = flags ++ pkgs ++ module_sources
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.3.2
+Version:                2.3.3
 Author:                 Kazu Yamamoto <kazu@iij.ad.jp>
 Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp>
 License:                BSD3
@@ -8,8 +8,12 @@
 Description:            A logging system for WAI
 Category:               Web, Yesod
 Cabal-Version:          >= 1.10
-Build-Type:             Simple
+Build-Type:             Custom
+Tested-With:            GHC ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.3
 
+Custom-Setup
+  Setup-Depends:        base, Cabal, cabal-doctest >=1.0.6 && <1.1
+
 Library
   Default-Language:     Haskell2010
   GHC-Options:          -Wall
@@ -20,26 +24,19 @@
   Build-Depends:        base >= 4 && < 5
                       , byteorder
                       , bytestring
-                      , case-insensitive
                       , fast-logger >= 2.4.5
                       , http-types
                       , network
                       , wai >= 2.0.0
-  if os(windows)
-      Cpp-Options:      -DWINDOWS
-      Build-Depends:    time
-                      , old-locale
-  else
-      Build-Depends:    unix
-                      , unix-time >= 0.2.2
 
-Test-Suite doctest
+Test-Suite doctests
   Type:                 exitcode-stdio-1.0
   Default-Language:     Haskell2010
   HS-Source-Dirs:       test
   Ghc-Options:          -Wall
   Main-Is:              doctests.hs
   Build-Depends:        base
+                      , wai-logger
                       , doctest >= 0.10.1
 
 Source-Repository head
