simple-log-0.1.5: src/System/Log/File.hs
module System.Log.File (
file
) where
import Data.Text (Text)
import qualified Data.Text.IO as T
import System.Log.Base
import System.FilePath
import System.Directory
import System.IO
file :: FilePath -> IO (Consumer Text)
file f = do
createDirectoryIfMissing True $ takeDirectory f
ex <- doesFileExist f
let
putText txt = withFile f AppendMode $ \h -> do
hSetEncoding h utf8
T.hPutStrLn h txt
return $ Consumer (not ex) putText (return ())