From 8285e26f99ddd6c634bcc226835b880fc50a7baf Mon Sep 17 00:00:00 2001 From: Matthias Fischmann Date: Thu, 21 Feb 2019 12:55:43 +0100 Subject: [PATCH] Haddocks --- src/System/Logger/Message.hs | 4 ++++ src/System/Logger/Settings.hs | 11 +++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/System/Logger/Message.hs b/src/System/Logger/Message.hs index e28d442..38b1761 100644 --- a/src/System/Logger/Message.hs +++ b/src/System/Logger/Message.hs @@ -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 +-- encoding for log lines. renderNetstr :: [Element] -> B.Builder renderNetstr = encAll mempty where diff --git a/src/System/Logger/Settings.hs b/src/System/Logger/Settings.hs index 529c2dd..35532a1 100644 --- a/src/System/Logger/Settings.hs +++ b/src/System/Logger/Settings.hs @@ -94,11 +94,11 @@ setNetStrings :: Bool -> Settings -> Settings setNetStrings True = setRenderer $ \_ _ _ -> renderNetstr setNetStrings False = setRenderer $ \s _ _ -> renderDefault s --- | Use 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: -- GitLab