# 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.

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)