Module enso_flexer::prelude::logger[][src]

Expand description

The Enso logging library.

Modules

entry

Logger entry. Entry can contain message, grouping, time information, etc.

macros

Utilities for easy logger usage. Defines such macros as debug! or warning!.

prelude

This module re-exports a lot of useful stuff. It is not meant to be used by libraries, but it is definitely usefull for bigger projects. It also defines several aliases and utils which may find their place in new libraries in the future.

processor

Logger processor implementation.

Macros

collapsed_to_bool

Internal utility for logging macros.

debug

$tp_name logging macro.

define_compile_time_filtering_rules

Defines specialized version of compile time filtering rules for the given filtering levels. It defines specialized implementations for the default implementation above. See the usage below to learn more.

define_global_processor

Define a global processor based on the provided type. Read the docs of GlobalProcessor to learn more.

define_levels

Utility for defining verbosity levels. Each verbosity level is defined as a separate structure. Moreover, it will also define a module filter_from containing similar structures, which will be useful for compile time filtering. The meaning of filter_from::Warning is meant to be “keep every message with priority higher or equal to warning”.

define_levels_group

Group levels defined with define_levels (possibly several, possibly merging user-defined types) into a common structure for logger parametrization. Also, defines a generic formatter impl for the type, which redirects calls to more specific instances.

error

$tp_name logging macro.

info

$tp_name logging macro.

log_template

Internal utility for logging macros.

log_template_group

Internal utility for logging macros.

trace

$tp_name logging macro.

warning

$tp_name logging macro.

Structs

Logger

The main logger implementation. It is parametrized by three main types:

Traits

AnyLogger

A common interface for all loggers. Exposing all information needed to create a particular sub-logger from a given parent logger of any type.

LoggerOps

Primitive operations on a logger. The type parameter allows for compile-time log level filtering of the messages.

Message

Message that can be logged. This trait allow a wide range of input arguments and also, allows the messages to be constructed lazily, from functions.

Type Definitions

DebugLogger

A logger which compile-time filters out all messages with log levels smaller than $tp.

DefaultDebugLogger

The same as $name, but with all type arguments applied, for convenient usage.

DefaultErrorLogger

The same as $name, but with all type arguments applied, for convenient usage.

DefaultInfoLogger

The same as $name, but with all type arguments applied, for convenient usage.

DefaultTraceLogger

The same as $name, but with all type arguments applied, for convenient usage.

DefaultWarningLogger

The same as $name, but with all type arguments applied, for convenient usage.

Disabled

A logger which compile-time filters out all messages with log levels smaller than $tp.

Enabled

A logger which compile-time filters out all messages with log levels smaller than $tp.

ErrorLogger

A logger which compile-time filters out all messages with log levels smaller than $tp.

InfoLogger

A logger which compile-time filters out all messages with log levels smaller than $tp.

TraceLogger

A logger which compile-time filters out all messages with log levels smaller than $tp.

WarningLogger

A logger which compile-time filters out all messages with log levels smaller than $tp.