Crate flexi_logger[−][src]
Expand description
A flexible and easy-to-use logger that writes logs to stderr and/or to files or other output streams.
To read the log specification from an environment variable and get the log written to stderr
,
start flexi_logger
e.g. like this:
flexi_logger::Logger::try_with_env().unwrap().start().unwrap();
See
- The builder
Logger
for a full description of all configuration options, - module
code_examples
for various concrete examples offlexi_logger
initialization - the module
writers
for the usage of additional log writers, - and the README for how to get started.
There are configuration options to e.g.
- decide whether you want to write your logs to stderr or to a file,
- configure the path and the filenames of the log files,
- use file rotation,
- specify the line format for the log lines,
- apply a stateful filter before log lines are really written,
- define additional log output streams, e.g for alert or security messages,
- support changing the log specification while the program is running,
flexi_logger
uses a similar syntax as env_logger
for specifying which logs should really be written (but is more graceful with the syntax,
and can provide error information).
By default, i.e. if feature colors
is not switched off, the log lines that appear on your
terminal are coloured. In case the chosen colors don’t fit to your terminal’s color theme,
you can adapt the colors to improve readability.
See the documentation of method Logger::set_palette
for a description how this can be done.
Modules
code_examples | Here are some examples for the |
filter | This module contains two traits which allow adding a stateful filter
using |
writers | Contains the trait |
Structs
DeferredNow | Deferred timestamp creation. |
FileSpec | Builder object for specifying the name and path of the log output file. |
LogSpecBuilder | Builder for |
LogSpecification | Immutable struct that defines which loglines are to be written, based on the module, the log level, and the text. |
Logger | The entry-point for using |
LoggerHandle | Shuts down the logger when dropped, and allows reconfiguring the logger programmatically. |
ModuleFilter | Defines which loglevel filter to use for the specified module. |
Record | Re-exports from log crate |
Enums
AdaptiveFormat | Can be used in
|
Age | The age after which a log file rotation will be triggered,
when |
Cleanup | Defines the strategy for handling older log files. |
Criterion | Criterion when to rotate the log file. |
Duplicate | Used to control which messages are to be duplicated to stderr, when |
FlexiLoggerError | Describes errors in the initialization of |
Level | Re-exports from log crate |
LevelFilter | Re-exports from log crate |
Naming | The naming convention for rotated log files. |
WriteMode | Describes if the log output should be written synchronously or asynchronously, and if and how file I/O should be buffered and flushed. |
Constants
DEFAULT_BUFFER_CAPACITY | Default buffer capacity (8k), when buffering is used. |
DEFAULT_FLUSH_INTERVAL | Default flush interval (1s), when flushing is used. |
DEFAULT_MESSAGE_CAPA | Default capacity for the message buffers that are used with |
DEFAULT_POOL_CAPA | Default size of the message pool that is used with |
Functions
colored_default_format | A colored version of the logline-formatter |
colored_detailed_format | A colored version of the logline-formatter |
colored_opt_format | A colored version of the logline-formatter |
colored_with_thread | A colored version of the logline-formatter |
default_format | A logline-formatter that produces log lines like |
detailed_format | A logline-formatter that produces log lines like
|
opt_format | A logline-formatter that produces log lines with timestamp and file location, like
|
style | Helper function that is used in the provided coloring format functions to apply colors based on the log level and the effective color palette. |
with_thread | A logline-formatter that produces log lines like
|
Type Definitions
FormatFunction | Function type for format functions. |