summaryrefslogtreecommitdiff
path: root/src/Propellor/Message.hs
diff options
context:
space:
mode:
authorJoey Hess2014-11-18 18:44:24 -0400
committerJoey Hess2014-11-18 18:44:24 -0400
commit66466a953d9094a7165c8f26225e20aab30369a5 (patch)
tree7fff4126a4d070e5cd620e234b32377c3d845198 /src/Propellor/Message.hs
parent47bcd4e1306b808311f39f398b0e539700e5efc6 (diff)
reorg
Diffstat (limited to 'src/Propellor/Message.hs')
-rw-r--r--src/Propellor/Message.hs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/Propellor/Message.hs b/src/Propellor/Message.hs
index 639171c5..a1e510ab 100644
--- a/src/Propellor/Message.hs
+++ b/src/Propellor/Message.hs
@@ -5,6 +5,9 @@ module Propellor.Message where
import System.Console.ANSI
import System.IO
import System.Log.Logger
+import System.Log.Formatter
+import System.Log.Handler (setFormatter, LogHandler)
+import System.Log.Handler.Simple
import "mtl" Control.Monad.Reader
import Data.Maybe
import Control.Applicative
@@ -98,3 +101,14 @@ colorLine h intensity color msg = do
-- | Causes a debug message to be displayed when PROPELLOR_DEBUG=1
debug :: [String] -> IO ()
debug = debugM "propellor" . unwords
+
+checkDebugMode :: IO ()
+checkDebugMode = go =<< getEnv "PROPELLOR_DEBUG"
+ where
+ go (Just "1") = do
+ f <- setFormatter
+ <$> streamHandler stderr DEBUG
+ <*> pure (simpleLogFormatter "[$time] $msg")
+ updateGlobalLogger rootLoggerName $
+ setLevel DEBUG . setHandlers [f]
+ go _ = noop