fast-logger 2.4.4 → 2.4.5
raw patch · 3 files changed
+18/−18 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- System.Log.FastLogger: LogFileAutoRotate :: FileLogSpec -> BufSize -> LogType
+ System.Log.FastLogger: LogFileNoRotate :: FilePath -> BufSize -> LogType
- System.Log.FastLogger: LogFile :: FilePath -> BufSize -> LogType
+ System.Log.FastLogger: LogFile :: FileLogSpec -> BufSize -> LogType
- System.Log.FastLogger: newTimedFastLogger :: (IO FormattedTime) -> LogType -> IO (TimedFastLogger, IO ())
+ System.Log.FastLogger: newTimedFastLogger :: IO FormattedTime -> LogType -> IO (TimedFastLogger, IO ())
- System.Log.FastLogger: withFastLogger :: LogType -> (FastLogger -> IO a) -> IO ()
+ System.Log.FastLogger: withFastLogger :: LogType -> (FastLogger -> IO a) -> IO a
- System.Log.FastLogger: withTimedFastLogger :: (IO FormattedTime) -> LogType -> (TimedFastLogger -> IO a) -> IO ()
+ System.Log.FastLogger: withTimedFastLogger :: (IO FormattedTime) -> LogType -> (TimedFastLogger -> IO a) -> IO a
Files
- System/Log/FastLogger.hs +17/−16
- System/Log/FastLogger/File.hs +0/−1
- fast-logger.cabal +1/−1
System/Log/FastLogger.hs view
@@ -180,10 +180,11 @@ | LogStderr BufSize -- ^ Logging to stdout. -- 'BufSize' is a buffer size -- for each capability.- | LogFile FilePath BufSize -- ^ Logging to a file.+ | LogFileNoRotate FilePath BufSize+ -- ^ Logging to a file. -- 'BufSize' is a buffer size -- for each capability.- | LogFileAutoRotate FileLogSpec BufSize -- ^ Logging to a file.+ | LogFile FileLogSpec BufSize -- ^ Logging to a file. -- 'BufSize' is a buffer size -- for each capability. -- File rotation is done on-demand.@@ -197,11 +198,12 @@ LogNone -> return (const noOp, noOp) LogStdout bsize -> newStdoutLoggerSet bsize >>= stdLoggerInit LogStderr bsize -> newStderrLoggerSet bsize >>= stdLoggerInit- LogFile fp bsize -> newFileLoggerSet bsize fp >>= stdLoggerInit- LogFileAutoRotate fspec bsize -> rotateLoggerInit fspec bsize+ LogFileNoRotate fp bsize -> newFileLoggerSet bsize fp >>= fileLoggerInit+ LogFile fspec bsize -> rotateLoggerInit fspec bsize LogCallback cb flush -> return (\ str -> cb str >> flush, noOp ) where stdLoggerInit lgrset = return (pushLogStr lgrset, noOp)+ fileLoggerInit lgrset = return (pushLogStr lgrset, rmLoggerSet lgrset) rotateLoggerInit fspec bsize = do lgrset <- newFileLoggerSet bsize $ log_file fspec ref <- newIORef (0 :: Int)@@ -213,24 +215,25 @@ return (logger, rmLoggerSet lgrset) -- | 'bracket' version of 'newFastLogger'-withFastLogger :: LogType -> (FastLogger -> IO a) -> IO ()-withFastLogger typ log' = bracket (newFastLogger typ) (log' . fst) snd+withFastLogger :: LogType -> (FastLogger -> IO a) -> IO a+withFastLogger typ log' = bracket (newFastLogger typ) snd (log' . fst) -- | Initialize a 'FastLogger' with timestamp attached to each message. -- a tuple of logger and clean up action are returned. newTimedFastLogger ::- (IO FormattedTime) -- ^ How do we get 'FormattedTime'?- -- "System.Log.FastLogger.Date" provide cached formatted time.+ IO FormattedTime -- ^ How do we get 'FormattedTime'?+ -- "System.Log.FastLogger.Date" provide cached formatted time. -> LogType -> IO (TimedFastLogger, IO ()) newTimedFastLogger tgetter typ = case typ of LogNone -> return (const noOp, noOp) LogStdout bsize -> newStdoutLoggerSet bsize >>= stdLoggerInit LogStderr bsize -> newStderrLoggerSet bsize >>= stdLoggerInit- LogFile fp bsize -> newFileLoggerSet bsize fp >>= stdLoggerInit- LogFileAutoRotate fspec bsize -> rotateLoggerInit fspec bsize+ LogFileNoRotate fp bsize -> newFileLoggerSet bsize fp >>= fileLoggerInit+ LogFile fspec bsize -> rotateLoggerInit fspec bsize LogCallback cb flush -> return (\ f -> tgetter >>= cb . f >> flush, noOp ) where stdLoggerInit lgrset = return ( \f -> tgetter >>= pushLogStr lgrset . f, noOp)+ fileLoggerInit lgrset = return (\f -> tgetter >>= pushLogStr lgrset . f, rmLoggerSet lgrset) rotateLoggerInit fspec bsize = do lgrset <- newFileLoggerSet bsize $ log_file fspec ref <- newIORef (0 :: Int)@@ -243,8 +246,8 @@ return (logger, rmLoggerSet lgrset) -- | 'bracket' version of 'newTimeFastLogger'-withTimedFastLogger :: (IO FormattedTime) -> LogType -> (TimedFastLogger -> IO a) -> IO ()-withTimedFastLogger tgetter typ log' = bracket (newTimedFastLogger tgetter typ) (log' . fst) snd+withTimedFastLogger :: (IO FormattedTime) -> LogType -> (TimedFastLogger -> IO a) -> IO a+withTimedFastLogger tgetter typ log' = bracket (newTimedFastLogger tgetter typ) snd (log' . fst) ---------------------------------------------------------------- @@ -273,15 +276,13 @@ rotate spec renewLoggerSet lgrset writeIORef ref $ estimate limit- | otherwise -> do+ | otherwise -> writeIORef ref $ estimate (limit - siz) file = log_file spec limit = log_file_size spec- getSize = handle (\(SomeException _) -> return Nothing) $ do+ getSize = handle (\(SomeException _) -> return Nothing) $ -- The log file is locked by GHC. -- We need to get its file size by the way not using locks. Just . fromIntegral <$> getFileSize file -- 200 is an ad-hoc value for the length of log line. estimate x = fromInteger (x `div` 200)--
System/Log/FastLogger/File.hs view
@@ -40,4 +40,3 @@ move (src,dst) = do exist <- doesFileExist src when exist $ renameFile src dst-
fast-logger.cabal view
@@ -1,5 +1,5 @@ Name: fast-logger-Version: 2.4.4+Version: 2.4.5 Author: Kazu Yamamoto <kazu@iij.ad.jp> Maintainer: Kazu Yamamoto <kazu@iij.ad.jp> License: BSD3