diff --git a/rotating-log.cabal b/rotating-log.cabal
--- a/rotating-log.cabal
+++ b/rotating-log.cabal
@@ -1,6 +1,7 @@
 name:                rotating-log
-version:             0.2
-description:         Size-limited, concurrent, automatically-rotating log writer for production applications.
+version:             0.4
+description:         Size-limited, concurrent, automatically-rotating log writer.
+Synopsis:            Size-limited, concurrent, automatically-rotating log writer.
 license:             BSD3
 license-file:        LICENSE
 author:              Ozgun Ataman, Doug Beardsley
@@ -9,6 +10,7 @@
 category:            Logging
 build-type:          Simple
 cabal-version:       >= 1.8
+homepage:            http://github.com/Soostone/rotating-log
 
 library
   hs-source-dirs: src
@@ -19,8 +21,7 @@
   build-depends:       
     base               >= 4    && < 5,
     bytestring         >= 0.8,
-    old-locale         >= 1.0,
-    time               >= 1.1,
+    time               >= 1.5 && < 1.7,
     filepath           >= 1.0,
     directory          >= 1.0
     
@@ -32,11 +33,10 @@
   ghc-options: -Wall
   hs-source-dirs: test, src
   build-depends:
-    base               >= 4,
-    bytestring         >= 0.8,
-    old-locale         >= 1.0,
-    time               >= 1.1,
-    filepath           >= 1.0,
-    directory          >= 1.0
+    base,       
+    bytestring,
+    time,      
+    filepath,  
+    directory 
 
   ghc-options: -Wall -fwarn-tabs -threaded
diff --git a/src/System/RotatingLog.hs b/src/System/RotatingLog.hs
--- a/src/System/RotatingLog.hs
+++ b/src/System/RotatingLog.hs
@@ -20,6 +20,7 @@
   , mkRotatingLog
   , rotatedWrite
   , rotatedWrite'
+  , rotatedClose
 
   -- * Built-In Post-Rotate Actions
   , archiveFile
@@ -35,7 +36,6 @@
 import           System.Directory
 import           System.FilePath.Posix
 import           System.IO
-import           System.Locale
 -------------------------------------------------------------------------------
 
 
@@ -107,6 +107,27 @@
     rotatedWrite' rlog t bs
 
 
+-------------------------------------------------------------------------------
+-- | Close the underlying file handle and apply the post-action hook.
+rotatedClose :: RotatingLog -> IO ()
+rotatedClose r = do
+    li <- readMVar (logInfo r)
+    now <- getCurrentTime
+    closeFile r li now
+
+
+-------------------------------------------------------------------------------
+-- | Close current file and apply post action.
+closeFile :: RotatingLog -> LogInfo -> UTCTime -> IO ()
+closeFile RotatingLog{..} LogInfo{..} now = do
+    hClose curHandle
+    let newFile = logFileName namePrefix now
+    renameFile curFile newFile
+    postAction newFile
+  where
+    curFile = curLogFileName namePrefix
+
+
 ------------------------------------------------------------------------------
 -- | Writes ByteString to a rotating log file.  If this write would exceed the
 -- size limit, then the file is closed and a new file opened.  This function
@@ -118,12 +139,9 @@
 -- content.
 rotatedWrite' :: RotatingLog -> UTCTime -> ByteString -> IO ()
 rotatedWrite' rl@RotatingLog{..} t bs = do
-    modifyMVar_ logInfo $ \LogInfo{..} -> do
+    modifyMVar_ logInfo $ \ li@LogInfo{..} -> do
         (h,b) <- if bytesWritten + len > sizeLimit
-                   then do hClose curHandle
-                           let newFile = logFileName namePrefix t
-                           renameFile curFile newFile
-                           postAction newFile
+                   then do closeFile rl li t
                            h <- openLogFile rl
                            return (h, 0)
                    else return (curHandle, bytesWritten)
@@ -131,7 +149,6 @@
         return $! LogInfo h (len + b)
   where
     len = fromIntegral $ B.length bs
-    curFile = curLogFileName namePrefix
 
 
 -------------------------------------------------------------------------------
