on master help sign in
Add report function to logger
9178295Jasper Van der Jeugt
src/Hakyll/Core/Compiler.hs+2
@@ -254,9 +254,11 @@ cached :: (Binary a, Typeable a, Writable a)
254 -> Compiler Resource a
254 -> Compiler Resource a
255 -> Compiler Resource a
255 -> Compiler Resource a
256cached name (Compiler d j) = Compiler d $ const $ CompilerM $ do
256cached name (Compiler d j) = Compiler d $ const $ CompilerM $ do
257+ logger <- compilerLogger <$> ask
257 identifier <- compilerIdentifier <$> ask
258 identifier <- compilerIdentifier <$> ask
258 store <- compilerStore <$> ask
259 store <- compilerStore <$> ask
259 modified <- compilerResourceModified <$> ask
260 modified <- compilerResourceModified <$> ask
261+ report logger $ "Checking cache: " ++ if modified then "modified" else "OK"
260 if modified
262 if modified
261 then do v <- unCompilerM $ j $ Resource identifier
263 then do v <- unCompilerM $ j $ Resource identifier
262 liftIO $ storeSet store name identifier v
264 liftIO $ storeSet store name identifier v
src/Hakyll/Core/Logger.hs+9
@@ -7,6 +7,7 @@ module Hakyll.Core.Logger
7 , flushLogger
7 , flushLogger
8 , section
8 , section
9 , timed
9 , timed
10+ , report
10 ) where
11 ) where
11
12
12import Control.Monad (forever)
13import Control.Monad (forever)
@@ -79,3 +80,11 @@ timed logger msg action = do
79 formatted = printf " [%4dms] %s" ms msg
80 formatted = printf " [%4dms] %s" ms msg
80 liftIO $ message logger formatted
81 liftIO $ message logger formatted
81 return result
82 return result
83+
84+-- | Log something at the same level as 'timed', but without the timing
85+--
86+report :: MonadIO m
87+ => Logger -- ^ Logger
88+ -> String -- ^ Message
89+ -> m () -- ^ No result
90+report logger msg = liftIO $ message logger $ " [ ] " ++ msg