elynx-tools-0.6.1.0: Tools for ELynx
Copyright(c) Dominik Schrempf 2021
LicenseGPL-3.0-or-later
Maintainerdominik.schrempf@gmail.com
Stabilityunstable
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

ELynx.Tools.Logger

Description

Creation date: Fri Sep 6 14:43:19 2019.

Synopsis

Documentation

data Verbosity Source #

Verbosity levels.

Constructors

Quiet 
Warn 
Info 
Debug 

Instances

Instances details
Bounded Verbosity Source # 
Instance details

Defined in ELynx.Tools.Logger

Enum Verbosity Source # 
Instance details

Defined in ELynx.Tools.Logger

Eq Verbosity Source # 
Instance details

Defined in ELynx.Tools.Logger

Ord Verbosity Source # 
Instance details

Defined in ELynx.Tools.Logger

Read Verbosity Source # 
Instance details

Defined in ELynx.Tools.Logger

Show Verbosity Source # 
Instance details

Defined in ELynx.Tools.Logger

Generic Verbosity Source # 
Instance details

Defined in ELynx.Tools.Logger

Associated Types

type Rep Verbosity :: Type -> Type #

ToJSON Verbosity Source # 
Instance details

Defined in ELynx.Tools.Logger

FromJSON Verbosity Source # 
Instance details

Defined in ELynx.Tools.Logger

type Rep Verbosity Source # 
Instance details

Defined in ELynx.Tools.Logger

type Rep Verbosity = D1 ('MetaData "Verbosity" "ELynx.Tools.Logger" "elynx-tools-0.6.1.0-AWjKNFEpQDhHVmYwSmmoU2" 'False) ((C1 ('MetaCons "Quiet" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Warn" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Info" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Debug" 'PrefixI 'False) (U1 :: Type -> Type)))

class HasLock e where Source #

Types with an output lock for concurrent output.

Methods

getLock :: e -> MVar () Source #

Instances

Instances details
HasLock (Environment a) Source # 
Instance details

Defined in ELynx.Tools.Environment

Methods

getLock :: Environment a -> MVar () Source #

class HasLogHandles e where Source #

Types with logging information.

Methods

getLogHandles :: e -> [Handle] Source #

Instances

Instances details
HasLogHandles (Environment a) Source # 
Instance details

Defined in ELynx.Tools.Environment

class HasStartingTime s where Source #

Types with starting time.

Instances

Instances details
HasStartingTime (Environment a) Source # 
Instance details

Defined in ELynx.Tools.Environment

class HasVerbosity s where Source #

Types with verbosity.

Instances

Instances details
HasVerbosity (Environment a) Source # 
Instance details

Defined in ELynx.Tools.Environment

type Logger e a = ReaderT e IO a Source #

Reader transformer used for logging to a file and to standard output.

logOutB Source #

Arguments

:: (HasLogHandles e, HasLock e) 
=> ByteString

Prefix.

-> ByteString

Message.

-> Logger e () 

Write to standard output and maybe to log file.

logDebugB :: (HasLock e, HasLogHandles e, HasVerbosity e) => ByteString -> Logger e () Source #

Log debug message.

logDebugS :: (HasLock e, HasLogHandles e, HasVerbosity e) => String -> Logger e () Source #

Log debug message.

logWarnB :: (HasLock e, HasLogHandles e, HasVerbosity e) => ByteString -> Logger e () Source #

Log warning message.

logWarnS :: (HasLock e, HasLogHandles e, HasVerbosity e) => String -> Logger e () Source #

Log warning message.

logInfoB :: (HasLock e, HasLogHandles e, HasVerbosity e) => ByteString -> Logger e () Source #

Log info message.

logInfoS :: (HasLock e, HasLogHandles e, HasVerbosity e) => String -> Logger e () Source #

Log info message.

logHeader :: [String] Source #

A short header to be used in executables. unlines doesn't work here because it adds an additional newline at the end.

logInfoNewSection :: (HasLock e, HasLogHandles e, HasVerbosity e) => String -> Logger e () Source #

Unified way of creating a new section in the log.