具有以下代码:
import Data.Conduit.Binary (sinkFile)
import Network.HTTP.Conduit
import qualified Data.Conduit as C
main :: IO ()
main = do
request <- parseUrl "http://google.com/"
withManager $ \manager -> do
response <- http request manager
responseBody response C.$$+- sinkFile "google.html"
如何将发送/接收的所有事件和数据写入控制台或文件?我没有发现任何关于在文档中登录的消息。
发布于 2014-07-14 16:03:12
sinkFile不进行任何日志记录。如果您想要一个管道,除了sinkFile所做的工作之外,还需要进行一些日志记录,那么您必须自己编写它,尽管它应该比较简单。
logSinkFile filename = logSinkIOHandle (IO.openBinaryFile fp IO.WriteMode)
logSinkIOHandle alloc = bracketP alloc IO.hClose logSinkHandle
logSinkHandle h = go
where go = do
liftIO $ putStrLn "Awaiting data."
mbs <- await
case mbs of
Nothing -> return ()
Maybe bs -> do
liftIO $ do
putStrLn "Data Ready."
putStr "Writing data: "
S.put bs
putStrLn ""
S.hPut h bs
putStrLn "Data written."
go
或者类似的东西。
https://stackoverflow.com/questions/24739146
复制相似问题