Crate flexi_logger [] [src]

A logger that can write the log to standard error or to a fresh file in a configurable folder and allows custom logline formats. It had started as an extended copy of env_logger.

Usage

This crate is on crates.io and can be used by adding flexi_logger to the dependencies in your project's Cargo.toml.

[dependencies]
flexi_logger = "0.3"
log = "*"

and this to your crate root:

#[macro_use]
extern crate log;
extern crate flexi_logger;

The latter is needed because flexi_logger plugs into the logging facade given by the log crate. i.e., you use the log macros to write log lines from your code.

In flexi_logger's initialization, you can e.g.

  • decide whether you want to write your logs to stderr (like with env_logger), or to a file,
  • configure the folder in which the log files are created,
  • provide the log-level-specification, i.e., the decision which log lines really should be written out, programmatically (if you don't want to use the environment variable RUST_LOG)
  • specify the line format for the log lines

See function init and structure LogConfig for a full description of all configuration options.

Structs

FlexiLoggerError

Describes errors in the initialization of flexi_logger.

LogConfig

Allows influencing the behavior of flexi_logger.

LogRecord

The "payload" of a log message.

Functions

default_format

A logline-formatter that produces lines like
INFO [my_prog::some_submodel] Task successfully read from conf.json

detailed_format

A logline-formatter that produces lines like
[2015-07-08 12:12:32:639785] INFO [my_prog::some_submodel] src/some_submodel.rs:26: Task successfully read from conf.json

init

Initializes the flexi_logger to your needs, and the global logger with flexi_logger.