logger-effectful-0.1: Effectful version of @monad-logger@'s API.
Safe HaskellNone
LanguageGHC2021

Effectful.Logger.Utils

Synopsis

Namespace

newtype Namespace Source #

Logging namespace.

Since: 0.1

Constructors

MkNamespace 

Fields

Instances

Instances details
NFData Namespace Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

Methods

rnf :: Namespace -> () #

Monoid Namespace Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

Semigroup Namespace Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

IsString Namespace Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

Generic Namespace Source # 
Instance details

Defined in Effectful.Logger.Utils

Associated Types

type Rep Namespace

Since: logger-effectful-0.1

Instance details

Defined in Effectful.Logger.Utils

type Rep Namespace = D1 ('MetaData "Namespace" "Effectful.Logger.Utils" "logger-effectful-0.1-inplace" 'True) (C1 ('MetaCons "MkNamespace" 'PrefixI 'True) (S1 ('MetaSel ('Just "unNamespace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq Text))))
IsList Namespace Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

Associated Types

type Item Namespace 
Instance details

Defined in Effectful.Logger.Utils

Show Namespace Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

Eq Namespace Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

(k ~ An_Iso, a ~ Seq Text, b ~ Seq Text) => LabelOptic "unNamespace" k Namespace Namespace a b Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

type Rep Namespace Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

type Rep Namespace = D1 ('MetaData "Namespace" "Effectful.Logger.Utils" "logger-effectful-0.1-inplace" 'True) (C1 ('MetaCons "MkNamespace" 'PrefixI 'True) (S1 ('MetaSel ('Just "unNamespace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq Text))))
type Item Namespace Source # 
Instance details

Defined in Effectful.Logger.Utils

Levels

data LogLevel Source #

Since: 0.1

Constructors

LevelTrace

Since: 0.1

LevelDebug

Since: 0.1

LevelInfo

Since: 0.1

LevelWarn

Since: 0.1

LevelError

Since: 0.1

LevelFatal

Since: 0.1

LevelOther Text

Since: 0.1

Instances

Instances details
NFData LogLevel Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

Methods

rnf :: LogLevel -> () #

Generic LogLevel Source # 
Instance details

Defined in Effectful.Logger.Utils

Associated Types

type Rep LogLevel

Since: logger-effectful-0.1

Instance details

Defined in Effectful.Logger.Utils

type Rep LogLevel = D1 ('MetaData "LogLevel" "Effectful.Logger.Utils" "logger-effectful-0.1-inplace" 'False) ((C1 ('MetaCons "LevelTrace" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LevelDebug" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LevelInfo" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "LevelWarn" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LevelError" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LevelFatal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LevelOther" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))))

Methods

from :: LogLevel -> Rep LogLevel x #

to :: Rep LogLevel x -> LogLevel #

Read LogLevel Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

Show LogLevel Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

Eq LogLevel Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

Ord LogLevel Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

Lift LogLevel Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

Methods

lift :: Quote m => LogLevel -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => LogLevel -> Code m LogLevel #

type Rep LogLevel Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

type Rep LogLevel = D1 ('MetaData "LogLevel" "Effectful.Logger.Utils" "logger-effectful-0.1-inplace" 'False) ((C1 ('MetaCons "LevelTrace" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LevelDebug" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LevelInfo" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "LevelWarn" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LevelError" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LevelFatal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LevelOther" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))))

Formatter

data LogFormatter Source #

Formatter for logs.

Since: 0.1

Constructors

MkLogFormatter 

Fields

Instances

Instances details
Generic LogFormatter Source # 
Instance details

Defined in Effectful.Logger.Utils

Associated Types

type Rep LogFormatter

Since: logger-effectful-0.1

Instance details

Defined in Effectful.Logger.Utils

type Rep LogFormatter = D1 ('MetaData "LogFormatter" "Effectful.Logger.Utils" "logger-effectful-0.1-inplace" 'False) (C1 ('MetaCons "MkLogFormatter" 'PrefixI 'True) ((S1 ('MetaSel ('Just "locStrategy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LocStrategy) :*: S1 ('MetaSel ('Just "newline") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "threadLabel") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "timezone") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool))))
Show LogFormatter Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

Eq LogFormatter Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

(k ~ A_Lens, a ~ LocStrategy, b ~ LocStrategy) => LabelOptic "locStrategy" k LogFormatter LogFormatter a b Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

(k ~ A_Lens, a ~ Bool, b ~ Bool) => LabelOptic "newline" k LogFormatter LogFormatter a b Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

(k ~ A_Lens, a ~ Bool, b ~ Bool) => LabelOptic "threadLabel" k LogFormatter LogFormatter a b Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

(k ~ A_Lens, a ~ Bool, b ~ Bool) => LabelOptic "timezone" k LogFormatter LogFormatter a b Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

type Rep LogFormatter Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

type Rep LogFormatter = D1 ('MetaData "LogFormatter" "Effectful.Logger.Utils" "logger-effectful-0.1-inplace" 'False) (C1 ('MetaCons "MkLogFormatter" 'PrefixI 'True) ((S1 ('MetaSel ('Just "locStrategy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LocStrategy) :*: S1 ('MetaSel ('Just "newline") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "threadLabel") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "timezone") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool))))

data LocStrategy Source #

Determines how we log location data.

Since: 0.1

Constructors

LocPartial !Loc

Logs the location with filename, line, col.

Since: 0.1

LocStable !Loc

Logs the location with filename.

Since: 0.1

LocNone

No location logging.

Since: 0.1

Instances

Instances details
Generic LocStrategy Source # 
Instance details

Defined in Effectful.Logger.Utils

Associated Types

type Rep LocStrategy

Since: logger-effectful-0.1

Instance details

Defined in Effectful.Logger.Utils

type Rep LocStrategy = D1 ('MetaData "LocStrategy" "Effectful.Logger.Utils" "logger-effectful-0.1-inplace" 'False) (C1 ('MetaCons "LocPartial" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Loc)) :+: (C1 ('MetaCons "LocStable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Loc)) :+: C1 ('MetaCons "LocNone" 'PrefixI 'False) (U1 :: Type -> Type)))
Show LocStrategy Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

Eq LocStrategy Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

type Rep LocStrategy Source #

Since: 0.1

Instance details

Defined in Effectful.Logger.Utils

type Rep LocStrategy = D1 ('MetaData "LocStrategy" "Effectful.Logger.Utils" "logger-effectful-0.1-inplace" 'False) (C1 ('MetaCons "LocPartial" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Loc)) :+: (C1 ('MetaCons "LocStable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Loc)) :+: C1 ('MetaCons "LocNone" 'PrefixI 'False) (U1 :: Type -> Type)))

formatLog :: forall (es :: [Effect]) msg. (Concurrent :> es, HasCallStack, Time :> es, ToLogStr msg) => Maybe Namespace -> LogFormatter -> LogLevel -> msg -> Eff es LogStr Source #

Produces a formatted LogStr.

Since: 0.1

Misc

logStrToText :: LogStr -> Text Source #

Since: 0.1