Commit 979c3e84 authored by Toralf Wittner's avatar Toralf Wittner
Browse files

Revert "Let renderers have type `Renderer`."

This reverts commit 9bffbfe3.
parent a0bd8eb2
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -18,14 +18,14 @@ import qualified Data.ByteString.Lazy as L
main :: IO ()
main = defaultMain
    [ bgroup "direct"
        [ bench "msg/8"  (whnf (f renderDefault) 8)
        , bench "msg/16" (whnf (f renderDefault) 16)
        , bench "msg/32" (whnf (f renderDefault) 32)
        [ bench "msg/8"  (whnf (f $ \s _ _ -> renderDefault s) 8)
        , bench "msg/16" (whnf (f $ \s _ _ -> renderDefault s) 16)
        , bench "msg/32" (whnf (f $ \s _ _ -> renderDefault s) 32)
        ]
    , bgroup "netstr"
        [ bench "msg/8"  (whnf (f renderNetstr) 8)
        , bench "msg/16" (whnf (f renderNetstr) 16)
        , bench "msg/32" (whnf (f renderNetstr) 32)
        [ bench "msg/8"  (whnf (f $ \_ _ _ -> renderNetstr) 8)
        , bench "msg/16" (whnf (f $ \_ _ _ -> renderNetstr) 16)
        , bench "msg/32" (whnf (f $ \_ _ _ -> renderNetstr) 32)
        ]
    , bgroup "custom"
        [ bench "msg/8"  (whnf (f renderCustom) 8)
@@ -33,14 +33,14 @@ main = defaultMain
        , bench "msg/32" (whnf (f renderCustom) 32)
        ]
    , bgroup "direct"
        [ bench "field/8"  (whnf (g renderDefault) 8)
        , bench "field/16" (whnf (g renderDefault) 16)
        , bench "field/32" (whnf (g renderDefault) 32)
        [ bench "field/8"  (whnf (g $ \s _ _ -> renderDefault s) 8)
        , bench "field/16" (whnf (g $ \s _ _ -> renderDefault s) 16)
        , bench "field/32" (whnf (g $ \s _ _ -> renderDefault s) 32)
        ]
    , bgroup "netstr"
        [ bench "field/8"  (whnf (g renderNetstr) 8)
        , bench "field/16" (whnf (g renderNetstr) 16)
        , bench "field/32" (whnf (g renderNetstr) 32)
        [ bench "field/8"  (whnf (g $ \_ _ _ -> renderNetstr) 8)
        , bench "field/16" (whnf (g $ \_ _ _ -> renderNetstr) 16)
        , bench "field/32" (whnf (g $ \_ _ _ -> renderNetstr) 32)
        ]
    , bgroup "custom"
        [ bench "field/8"  (whnf (g renderCustom) 8)
+2 −4
Original line number Diff line number Diff line
@@ -22,10 +22,8 @@ module System.Logger
    , delimiter
    , setDelimiter
    , setNetStrings
    , setRendererDefault
    , setRendererNetstr
    , renderDefault
    , renderNetstr
    , setRendererDefault
    , bufSize
    , setBufSize
    , name
@@ -69,7 +67,7 @@ import Data.Maybe (fromMaybe)
import Data.Text (Text)
import Data.UnixTime
import System.Environment (lookupEnv)
import System.Logger.Message as M hiding (renderDefault_, renderNetstr_)
import System.Logger.Message as M
import System.Logger.Settings
import Prelude hiding (log)

+10 −8
Original line number Diff line number Diff line
@@ -31,8 +31,8 @@ module System.Logger.Message
    , builderSize
    , builderBytes
    , render
    , renderDefault_
    , renderNetstr_
    , renderDefault
    , renderNetstr
    ) where

#if MIN_VERSION_base(4,9,0)
@@ -169,9 +169,10 @@ val = bytes
render :: ([Element] -> B.Builder) -> (Msg -> Msg) -> L.ByteString
render f m = finish . f . elements . m $ empty

-- | See 'renderDefault'.
renderDefault_ :: ByteString -> [Element] -> B.Builder
renderDefault_ s = encAll mempty
-- | Simple 'Renderer' with '=' between field names and values and a custom
-- separator.
renderDefault :: ByteString -> [Element] -> B.Builder
renderDefault s = encAll mempty
  where
    encAll !acc    []  = acc
    encAll !acc (b:[]) = acc <> encOne b
@@ -183,9 +184,10 @@ renderDefault_ s = encAll mempty
    eq  = B.char8 '='
    sep = B.byteString s

-- | See 'renderNetstr'.
renderNetstr_ :: [Element] -> B.Builder
renderNetstr_ = encAll mempty
-- | 'Renderer' that uses <http://cr.yp.to/proto/netstrings.txt netstring>
-- encoding for log lines.
renderNetstr :: [Element] -> B.Builder
renderNetstr = encAll mempty
  where
    encAll !acc []     = acc
    encAll !acc (b:bb) = encAll (acc <> encOne b) bb
+8 −20
Original line number Diff line number Diff line
@@ -21,10 +21,8 @@ module System.Logger.Settings
    , delimiter
    , setDelimiter
    , setNetStrings
    , setRendererDefault
    , setRendererNetstr
    , renderDefault
    , renderNetstr
    , setRendererDefault
    , logLevel
    , logLevelMap
    , logLevelOf
@@ -93,26 +91,16 @@ setDelimiter x s = s { _delimiter = x }
--
-- {#- DEPRECATED setNetStrings "Use setRendererNetstr or setRendererDefault instead" #-}
setNetStrings :: Bool -> Settings -> Settings
setNetStrings True  = setRendererNetstr
setNetStrings False = setRendererDefault

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

-- | Shortcut for calling 'setRenderer' with 'renderNetstr'.
setRendererNetstr :: Settings -> Settings
setRendererNetstr = setRenderer renderNetstr

-- | Simple 'Renderer' with '=' between field names and values and a custom
-- separator.
renderDefault :: Renderer
renderDefault s _ _ = renderDefault_ s
setRendererNetstr = setRenderer $ \_ _ _ -> renderNetstr

-- | 'Renderer' that uses <http://cr.yp.to/proto/netstrings.txt netstring>
-- encoding for log lines.
renderNetstr :: Renderer
renderNetstr _ _ _ = renderNetstr_
-- | Shortcut for calling 'setRenderer' with 'renderDefault'.
setRendererDefault :: Settings -> Settings
setRendererDefault = setRenderer $ \s _ _ -> renderDefault s

logLevel :: Settings -> Level
logLevel = _logLevel
@@ -214,4 +202,4 @@ defSettings = Settings
    defaultBufSize
    Nothing
    id
    renderDefault
    (\s _ _ -> renderDefault s)