hslogstash-0.1.0.0: Logstash/IO.hs
{-| This module needs a lot of work. It will contain all the functions that
are needed to send some "LogstashMessage" to a Logstash server.
-}
module Logstash.IO where
import Logstash.Message
import Network
import qualified Data.ByteString.Lazy as BSL
import System.IO
import Data.Aeson
{-| This very simple function lets you send a single message to a Logstash
server, using the tcp input, configured in the following way:
> input {
> tcp {
> debug => "true"
> port => "12345"
> data_timeout => -1
> format => "json_event"
> type => "somemessages"
> }
> }
-}
sendSingleMessage :: HostName -> PortID -> LogstashMessage -> IO ()
sendSingleMessage h p m = do
handle <- connectTo h p
BSL.hPutStr handle (encode m)
hClose handle