File: test_default_file_and_writer.rs

package info (click to toggle)
rust-flexi-logger 0.29.8-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,084 kB
  • sloc: makefile: 2
file content (49 lines) | stat: -rw-r--r-- 1,699 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
use flexi_logger::writers::{FileLogWriter, LogWriter};
use flexi_logger::{detailed_format, FileSpec, Logger};
use log::*;
mod test_utils;

#[test]
fn test_default_file_and_writer() {
    let file_spec_bar = FileSpec::default()
        .directory(self::test_utils::dir())
        .suppress_timestamp()
        .discriminant("bar");
    let file_spec_foo = file_spec_bar.clone().discriminant("foo");
    let bar_writer = FileLogWriter::builder(file_spec_bar.clone())
        .format(detailed_format)
        .try_build()
        .unwrap();

    {
        let handle = Logger::try_with_str("info")
            .unwrap()
            .log_to_file_and_writer(file_spec_foo, Box::new(bar_writer))
            .format(detailed_format)
            .start()
            .unwrap_or_else(|e| panic!("Logger initialization failed with {e}"));

        error!("This is an error message");
        warn!("This is a warning");
        info!("This is an info message");
        debug!("This is a debug message - you must not see it!");
        trace!("This is a trace message - you must not see it!");

        handle.validate_logs(&[
            ("ERROR", "test_default_file_and_writer", "error"),
            ("WARN", "test_default_file_and_writer", "warning"),
            ("INFO", "test_default_file_and_writer", "info"),
        ]);
    }

    let bar_writer = FileLogWriter::builder(file_spec_bar)
        .format(detailed_format)
        .append()
        .try_build()
        .unwrap();
    bar_writer.validate_logs(&[
        ("ERROR", "test_default_file_and_writer", "error"),
        ("WARN", "test_default_file_and_writer", "warning"),
        ("INFO", "test_default_file_and_writer", "info"),
    ]);
}