blob: 656cbc88676b15bd46e988afcfd2bc583c1b4558 (
plain) (
tree)
|
|
module Graylog.UDP
( sendLog
, module Export
) where
import Data.Aeson
import qualified Data.ByteString.Lazy as LBS
import Data.Word
import Network.Socket.ByteString.Lazy
import System.Random
import Graylog.Gelf as Export
import Graylog.Types as Export
sendLog :: Graylog -> GELF -> IO ()
sendLog glog msg = mapM_ (send $ _graylogSocket glog) cks
where
raw = encode msg
cks = chunky glog raw
chunky :: Graylog -> LBS.ByteString -> IO [LBS.ByteString]
chunky glog raw = do
groupId <- randomIO
splitAt gsize
where
magic = undefined
seq = undefined
total = undefined
hlen = 12
gsize = (fromIntegral (_graylogChunkSize glog)) - hlen
|