Change some logging stuff

This commit is contained in:
Daniel Gröber
2015-05-06 16:13:08 +02:00
parent d11b12676e
commit 0f1e653f7f
4 changed files with 13 additions and 10 deletions

View File

@@ -57,16 +57,16 @@ decreaseLogLevel l = pred l
-- False
gmLog :: (MonadIO m, GmLog m) => GmLogLevel -> String -> Doc -> m ()
gmLog level loc' doc = do
GhcModLog { gmLogLevel = level' } <- gmlHistory
GhcModLog { gmLogLevel = Just level' } <- gmlHistory
let loc | loc' == "" = empty
| otherwise = text loc' <+>: empty
msg = gmRenderDoc $ gmLogLevelDoc level <+>: sep [loc, doc]
msg' = dropWhileEnd isSpace msg
msgDoc = gmLogLevelDoc level <+>: sep [loc, doc]
msg = dropWhileEnd isSpace $ gmRenderDoc msgDoc
when (Just level <= level') $
liftIO $ hPutStrLn stderr msg'
gmlJournal (GhcModLog Nothing [(level, render loc, msg)])
when (level <= level') $ liftIO $ hPutStrLn stderr msg
gmlJournal (GhcModLog Nothing [(level, loc', msgDoc)])
newtype LogDiscardT m a = LogDiscardT { runLogDiscard :: m a }
deriving (Functor, Applicative, Monad)