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>, }
Internal struct for influencing the behavior of flexi_logger.
This structure is only needed if you want to instantiate multiple loggers in a your process.
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 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 defaults for the logger initialization are
- 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.