@@ -7,8 +7,7 @@ module Hakyll.Core.Logger
77 , flush
88 , error
99 , header
10− , item
11− , subitem
10+ , message
1211 , debug
1312 ) where
1413
@@ -20,14 +19,12 @@ import Control.Concurrent.Chan (Chan, newChan, readChan, writeChan)
2019import Control.Concurrent.MVar (MVar, newEmptyMVar, putMVar, takeMVar)
2120import Control.Monad (forever)
2221import Control.Monad.Trans (MonadIO, liftIO)
23−import Data.List (intercalate)
2422import Prelude hiding (error)
2523
2624
2725--------------------------------------------------------------------------------
2826data Verbosity
2927 = Error
30− | Header
3128 | Message
3229 | Debug
3330 deriving (Eq, Ord, Show)
@@ -40,7 +37,6 @@ data Logger = Logger
4037 , loggerSync :: MVar () -- ^ Used for sync on quit
4138 , loggerSink :: String -> IO () -- ^ Out sink
4239 , loggerVerbosity :: Verbosity -- ^ Verbosity
43− , loggerColumns :: Int -- ^ Preferred number of columns
4440 }
4541
4642
@@ -49,7 +45,7 @@ data Logger = Logger
4945new :: Verbosity -> (String -> IO ()) -> IO Logger
5046new vbty sink = do
5147 logger <- Logger <$>
52− newChan <*> newEmptyMVar <*> pure sink <*> pure vbty <*> pure 80
48+ newChan <*> newEmptyMVar <*> pure sink <*> pure vbty
5349 _ <- forkIO $ loggerThread logger
5450 return logger
5551 where
@@ -84,35 +80,19 @@ string l v m
8480
8581--------------------------------------------------------------------------------
8682error :: MonadIO m => Logger -> String -> m ()
87−error l m = string l Error $ "ERROR: " ++ m
83+error l m = string l Error $ " [ERROR] " ++ m
8884
8985
9086--------------------------------------------------------------------------------
9187header :: MonadIO m => Logger -> String -> m ()
92−header l = string l Header
88+header l = string l Message
9389
9490
9591--------------------------------------------------------------------------------
96−item :: MonadIO m => Logger -> [String] -> m ()
97−item = itemWith 2
98−
99−
100−--------------------------------------------------------------------------------
101−subitem :: MonadIO m => Logger -> [String] -> m ()
102−subitem = itemWith 4
103−
104−
105−--------------------------------------------------------------------------------
106−itemWith :: MonadIO m => Int -> Logger -> [String] -> m ()
107−itemWith _ _ [] = return ()
108−itemWith i l [x] = string l Message $ replicate i ' ' ++ x
109−itemWith i l (x : ys) = string l Message $ indent ++ x ++ spaces ++ ys'
110− where
111− indent = replicate i ' '
112− spaces = replicate (max 1 $ loggerColumns l - i - length x - length ys') ' '
113− ys' = intercalate ", " ys
92+message :: MonadIO m => Logger -> String -> m ()
93+message l m = string l Message $ " " ++ m
11494
11595
11696--------------------------------------------------------------------------------
11797debug :: MonadIO m => Logger -> String -> m ()
118−debug l m = string l Debug $ " DEBUG: " ++ m
98+debug l m = string l Debug $ " [DEBUG] " ++ m