module FeedGipeda.Prelude ( logInfo , logDebug , logWarn , logError , readFileMaybe ) where import Control.Applicative import qualified Control.Logging as Logging import Control.Monad.IO.Class import qualified Data.Text as Text import System.Directory (doesFileExist) logInfo :: MonadIO io => String -> io () logInfo = liftIO . Logging.log . Text.pack logDebug :: MonadIO io => String -> io () logDebug = liftIO . Logging.debug . Text.pack logWarn :: MonadIO io => String -> io () logWarn = liftIO . Logging.warn . Text.pack logError :: String -> a logError = Logging.errorL . Text.pack readFileMaybe :: MonadIO io => FilePath -> io (Maybe String) readFileMaybe file = liftIO $ do exists <- doesFileExist file if exists then Just <$> readFile file else return Nothing