Unverified Commit 8285e26f authored by Matthias Fischmann's avatar Matthias Fischmann
Browse files

Haddocks

parent 62ce5526
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -169,6 +169,8 @@ val = bytes
render :: ([Element] -> B.Builder) -> (Msg -> Msg) -> L.ByteString
render f m = finish . f . elements . m $ empty

-- | Simple 'Renderer' with '=' between field names and values and a custom
-- separator.
renderDefault :: ByteString -> [Element] -> B.Builder
renderDefault s = encAll mempty
  where
@@ -182,6 +184,8 @@ renderDefault s = encAll mempty
    eq  = B.char8 '='
    sep = B.byteString s

-- | 'Renderer' that uses <http://cr.yp.to/proto/netstrings.txt netstring>
-- encoding for log lines.
renderNetstr :: [Element] -> B.Builder
renderNetstr = encAll mempty
  where
+9 −2
Original line number Diff line number Diff line
@@ -94,11 +94,11 @@ setNetStrings :: Bool -> Settings -> Settings
setNetStrings True  = setRenderer $ \_ _ _ -> renderNetstr
setNetStrings False = setRenderer $ \s _ _ -> renderDefault s

-- | Use <http://cr.yp.to/proto/netstrings.txt netstring> encoding
-- for log lines.
-- | Shortcut for calling 'setRenderer' with 'renderNetstr'.
setRendererNetstr :: Settings -> Settings
setRendererNetstr = setRenderer $ \_ _ _ -> renderNetstr

-- | Shortcut for calling 'setRenderer' with 'renderDefault'.
setRendererDefault :: Settings -> Settings
setRendererDefault = setRenderer $ \s _ _ -> renderDefault s

@@ -138,6 +138,9 @@ nameMsg = _nameMsg
renderer :: Settings -> Renderer
renderer = _renderer

-- | Set a custom renderer.  See 'setRendererDefault', 'setRendererNetstr' for
-- two common special cases.  Look at the code of 'renderDefault',
-- 'renderNetstr' for examples how to write custom renderers.
setRenderer :: Renderer -> Settings -> Settings
setRenderer f s = s { _renderer = f }

@@ -167,6 +170,10 @@ instance IsString DateFormat where
iso8601UTC :: DateFormat
iso8601UTC = "%Y-%0m-%0dT%0H:%0M:%0SZ"

-- | Take a custom separator, date format, log level of the event, and render
-- a list of log fields or messages into a builder.
--
-- See also: 'renderDefault', 'renderNetstr'.
type Renderer = ByteString -> DateFormat -> Level -> [Element] -> B.Builder

-- | Default settings: