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 { Logger -> LogSettings lLogSettings :: LogSettings , Logger -> LoggerSet lLoggerSet :: LoggerSet , Logger -> LogLevel -> ByteString -> ByteString lReformat :: LogLevel -> ByteString -> ByteString , Logger -> LogSource -> LogLevel -> Bool lShouldLog :: LogSource -> LogLevel -> Bool , Logger -> Bool lShouldColor :: Bool , Logger -> Maybe LoggedMessages lLoggedMessages :: Maybe LoggedMessages } class HasLogger env where loggerL :: Lens' env Logger instance HasLogger Logger where loggerL :: Lens' Logger Logger loggerL = forall a. a -> a id