packages feed

Blammo-1.1.2.1: src/Blammo/Logging/Internal/Logger.hs

module Blammo.Logging.Internal.Logger
  ( Logger (..)
  , HasLogger (..)
  ) where

import Prelude

import Blammo.Logging.LogSettings
import Blammo.Logging.Test hiding (getLoggedMessages)
import Control.Lens (Lens')
import Control.Monad.Logger.Aeson
import Data.ByteString (ByteString)
import System.Log.FastLogger (LoggerSet)

data Logger = Logger
  { lLogSettings :: LogSettings
  , lLoggerSet :: LoggerSet
  , lReformat :: LogLevel -> ByteString -> ByteString
  , lShouldLog :: LogSource -> LogLevel -> Bool
  , lShouldColor :: Bool
  , lLoggedMessages :: Maybe LoggedMessages
  }

class HasLogger env where
  loggerL :: Lens' env Logger

instance HasLogger Logger where
  loggerL = id