IdrisDoc: Effect.Logging.Level

Effect.Logging.Level

A dependently typed logging level representation where logging
levels are based on a Natural number range [0,70].

The LogLevel type allows for semantic constructors to be used
for the majority of logging levels, with an option for custom
levels to be defined.

The logging level design comes from the Log4j/Python family of
loggers.

data LogLevel : Nat -> Type

Logging levels are natural numbers wrapped in a data type for
convenience.

Several aliases have been defined to aide in semantic use of the
logging levels. These aliases have come from the Log4j/Python
family of loggers.

OFF : LogLevel (fromInteger 0)

Log No Events

TRACE : LogLevel (fromInteger 10)

A fine-grained debug message, typically capturing the flow through
the application.

DEBUG : LogLevel (fromInteger 20)

A general debugging event.

INFO : LogLevel (fromInteger 30)

An event for informational purposes.

WARN : LogLevel (fromInteger 40)

An event that might possible lead to an error.

ERROR : LogLevel (fromInteger 50)

An error in the application, possibly recoverable.

FATAL : LogLevel (fromInteger 60)

A severe error that will prevent the application from continuing.

ALL : LogLevel (fromInteger 70)

All events should be logged.

CUSTOM : (n : Nat) -> {auto prf : LTE n (fromInteger 70)} -> LogLevel n

User defined logging level.

cmpLevel : LogLevel a -> LogLevel b -> Ordering

Compare to logging levels.