Struct flexi_logger::LogConfig [] [src]

pub struct LogConfig {
    pub format: fn(&LogRecord) -> String,
    pub log_to_file: bool,
    pub print_message: bool,
    pub duplicate_error: bool,
    pub duplicate_info: bool,
    pub directory: Option<String>,
    pub suffix: Option<String>,
    pub timestamp: bool,
    pub rotate_over_size: Option<usize>,
    pub discriminant: Option<String>,
    pub create_symlink: Option<String>,
}

Allows influencing the behavior of flexi_logger.

Fields

format: fn(&LogRecord) -> String

Allows providing a custom logline format; by default flexi_logger::default_format is used. You can either choose between three predefined variants, default_format, opt_format and detailed_format, or you create and use your own format function with the signature fn(&LogRecord) -> String.

log_to_file: bool
  • If false (default), the log is written to stderr.
  • If true, a new file is created and the log is written to it. The default pattern for the filename is '<program_name>_<date>_<time>.<suffix>', e.g. myprog_2015-07-08_10-44-11.log.

Note that all following members of LogConfig are only relevant if this one is set to true.

print_message: bool

If true (default), the name of the logfile is documented in a message to stdout.

duplicate_error: bool

If true (default), all logged error messages are duplicated to stdout.

duplicate_info: bool

If true (default), all logged warning and info messages are also duplicated to stdout.

directory: Option<String>

Allows specifying a directory in which the log files are created. Default is None.

suffix: Option<String>

Allows specifying the filesystem suffix of the log files (without the dot). Default is log.

timestamp: bool

Allows specifying whether or not the filename should include a timestamp. Default is true.

rotate_over_size: Option<usize>

Allows specifying a maximum size for log files in bytes; when the specified file size is reached or exceeded, the file will be closed and a new one will be opened. The filename pattern changes - instead of the timestamp the serial number is included into the filename.

discriminant: Option<String>

Allows specifying an additional part of the log file name that is inserted after the program name. Default is None.

create_symlink: Option<String>

Allows specifying an option to create a symlink to the most recent log file created using the given name. Default is None.

Note that this option is only effective on linux systems.

Methods

impl LogConfig
[src]

fn new() -> LogConfig

The default initialization initializes the logger with

  • log_to_file = false
  • print_message = true
  • duplicate_error = true
  • duplicate_info = false
  • format = flexi_logger::default_format
  • no directory: log files (if they were used) are created where the program was started
  • no rotate_over: log file (if it were used) grows indefinitely
  • the name of the log file (if it were used) consists of progname, timestamp, and suffix log
  • no symlink being created.

We recommend using this constructor as described in the examples of function init to avoid compilation issues with your code, if future versions of flexi_logger come with extensions to LogConfig.