-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A scalable distributed logger with a high-precision global time axis.
--
-- Haskell client to the "greg" distributed logger with a high-precision
-- global time axis (http://code.google.com/p/greg/).
@package greg-client
@version 1.0.2
-- | This module provides a binding to the greg distributed logger, which
-- provides a high-precision global time axis and is very performant.
--
-- See project home page at http://code.google.com/p/greg for an
-- explanation of how to use the server, the features, motivation and
-- design.
module System.Log.Greg
-- | Client configuration. You probably only need to change
-- server.
data Configuration
Configuration :: String -> Int -> Int -> Int -> String -> Int -> Bool -> Int -> Configuration
-- | Server hostname (default localhost)
server :: Configuration -> String
-- | Message port (default 5676)
port :: Configuration -> Int
-- | Calibration port (default 5677)
calibrationPort :: Configuration -> Int
-- | How often to send message batches to server (default 1000)
flushPeriodMs :: Configuration -> Int
-- | Arbitrary identifier, will show up in logs. For example,
-- "DataService" (default "unknown")
clientId :: Configuration -> String
-- | How many records to store between flushes (more will be dropped)
-- (default 100000)
maxBufferedRecords :: Configuration -> Int
-- | Whether to use gzip compression (default False, True
-- is unsupported)
useCompression :: Configuration -> Bool
-- | How often to initiate calibration exchanges (default 10)
calibrationPeriodSec :: Configuration -> Int
-- | Log a message. The message will show up in server's output annotated
-- with a global timestamp (client's clock offset does not matter).
logMessage :: String -> IO ()
-- | Perform an IO action with logging (will wait for all messages to
-- flush).
withGregDo :: Configuration -> IO () -> IO ()
-- | The default configuration, suitable for most needs.
defaultConfiguration :: Configuration