diff options
Diffstat (limited to 'Log.hs')
-rw-r--r-- | Log.hs | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -57,11 +57,12 @@ type Logger = AnyMessage -> IO () logDir :: IO FilePath logDir = (</> "log") <$> dotDir -withSessionLogger :: SessionID -> (Logger -> IO a) -> IO a -withSessionLogger sessionid a = bracket setup cleanup go +withSessionLogger :: (Maybe FilePath) -> SessionID -> (Logger -> IO a) -> IO a +withSessionLogger subdir sessionid a = bracket setup cleanup go where setup = do - dir <- logDir + basedir <- logDir + let dir = maybe basedir (basedir </>) subdir createDirectoryIfMissing False dir return $ sessionLogFile dir sessionid cleanup logfile = putStrLn $ "** debug-me session was logged to " ++ logfile |