\subsection{Cardano.BM.Configuration.Static} \label{code:Cardano.BM.Configuration.Static} %if style == newcode \begin{code} {-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} module Cardano.BM.Configuration.Static ( defaultConfigStdout , defaultConfigTesting ) where import qualified Cardano.BM.Configuration.Model as CM import Cardano.BM.Data.BackendKind import Cardano.BM.Data.Output import Cardano.BM.Data.Severity \end{code} %endif \subsubsection{Default configuration outputting on |stdout|} \begin{code} defaultConfigStdout :: IO CM.Configuration defaultConfigStdout :: IO Configuration defaultConfigStdout = do Configuration c <- IO Configuration CM.empty Configuration -> Severity -> IO () CM.setMinSeverity Configuration c Severity Debug Configuration -> [BackendKind] -> IO () CM.setSetupBackends Configuration c [BackendKind KatipBK] Configuration -> [BackendKind] -> IO () CM.setDefaultBackends Configuration c [BackendKind KatipBK] Configuration -> [ScribeDefinition] -> IO () CM.setSetupScribes Configuration c [ ScribeDefinition :: ScribeKind -> ScribeFormat -> Text -> ScribePrivacy -> Maybe RotationParameters -> Severity -> Severity -> ScribeDefinition ScribeDefinition { scName :: Text scName = Text "text" , scFormat :: ScribeFormat scFormat = ScribeFormat ScText , scKind :: ScribeKind scKind = ScribeKind StdoutSK , scPrivacy :: ScribePrivacy scPrivacy = ScribePrivacy ScPublic , scRotation :: Maybe RotationParameters scRotation = Maybe RotationParameters forall a. Maybe a Nothing , scMinSev :: Severity scMinSev = Severity forall a. Bounded a => a minBound , scMaxSev :: Severity scMaxSev = Severity forall a. Bounded a => a maxBound } , ScribeDefinition :: ScribeKind -> ScribeFormat -> Text -> ScribePrivacy -> Maybe RotationParameters -> Severity -> Severity -> ScribeDefinition ScribeDefinition { scName :: Text scName = Text "json" , scFormat :: ScribeFormat scFormat = ScribeFormat ScJson , scKind :: ScribeKind scKind = ScribeKind StdoutSK , scPrivacy :: ScribePrivacy scPrivacy = ScribePrivacy ScPublic , scRotation :: Maybe RotationParameters scRotation = Maybe RotationParameters forall a. Maybe a Nothing , scMinSev :: Severity scMinSev = Severity forall a. Bounded a => a minBound , scMaxSev :: Severity scMaxSev = Severity forall a. Bounded a => a maxBound } ] Configuration -> [Text] -> IO () CM.setDefaultScribes Configuration c [Text "StdoutSK::text"] Configuration -> IO Configuration forall (m :: * -> *) a. Monad m => a -> m a return Configuration c \end{code} \subsubsection{Default configuration for testing} \begin{code} defaultConfigTesting :: IO CM.Configuration defaultConfigTesting :: IO Configuration defaultConfigTesting = do Configuration c <- IO Configuration CM.empty Configuration -> Severity -> IO () CM.setMinSeverity Configuration c Severity Debug Configuration -> [BackendKind] -> IO () CM.setSetupBackends Configuration c [BackendKind KatipBK, BackendKind AggregationBK] Configuration -> [BackendKind] -> IO () CM.setDefaultBackends Configuration c [BackendKind KatipBK, BackendKind AggregationBK] Configuration -> [ScribeDefinition] -> IO () CM.setSetupScribes Configuration c [ ScribeDefinition :: ScribeKind -> ScribeFormat -> Text -> ScribePrivacy -> Maybe RotationParameters -> Severity -> Severity -> ScribeDefinition ScribeDefinition { scName :: Text scName = Text "nooutput" , scFormat :: ScribeFormat scFormat = ScribeFormat ScText , scKind :: ScribeKind scKind = ScribeKind DevNullSK , scPrivacy :: ScribePrivacy scPrivacy = ScribePrivacy ScPublic , scRotation :: Maybe RotationParameters scRotation = Maybe RotationParameters forall a. Maybe a Nothing , scMinSev :: Severity scMinSev = Severity forall a. Bounded a => a minBound , scMaxSev :: Severity scMaxSev = Severity forall a. Bounded a => a maxBound } ] Configuration -> [Text] -> IO () CM.setDefaultScribes Configuration c [Text "NullSK::nooutput"] Configuration -> IO Configuration forall (m :: * -> *) a. Monad m => a -> m a return Configuration c \end{code}