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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
mod test_utils;
use flexi_logger::{FileSpec, Logger, LoggerHandle};
use log::*;
#[test]
fn test_reconfigure_methods() {
let mut logger = Logger::try_with_str("info")
.unwrap()
.log_to_file(
FileSpec::default()
.suppress_timestamp()
.directory(self::test_utils::dir()),
)
.start()
.unwrap_or_else(|e| panic!("Logger initialization failed with {e}"));
test_parse_new_spec(&logger);
test_push_new_spec(&mut logger);
validate_logs(&logger);
}
fn test_parse_new_spec(logger: &LoggerHandle) {
error!("1-error message");
warn!("1-warning");
info!("1-info message");
debug!("1-debug message - you must not see it!");
trace!("1-trace message - you must not see it!");
logger.parse_new_spec("error").ok();
error!("1-error message");
warn!("1-warning - you must not see it!");
info!("1-info message - you must not see it!");
debug!("1-debug message - you must not see it!");
trace!("1-trace message - you must not see it!");
logger.parse_new_spec("trace").ok();
error!("1-error message");
warn!("1-warning");
info!("1-info message");
debug!("1-debug message");
trace!("1-trace message");
logger.parse_new_spec("info").ok();
}
fn test_push_new_spec(logger: &mut LoggerHandle) {
error!("2-error message");
warn!("2-warning");
info!("2-info message");
debug!("2-debug message - you must not see it!");
trace!("2-trace message - you must not see it!");
logger.parse_and_push_temp_spec("error").ok();
error!("2-error message");
warn!("2-warning - you must not see it!");
info!("2-info message - you must not see it!");
debug!("2-debug message - you must not see it!");
trace!("2-trace message - you must not see it!");
logger.parse_and_push_temp_spec("trace").ok();
error!("2-error message");
warn!("2-warning");
info!("2-info message");
debug!("2-debug message");
trace!("2-trace message");
logger.pop_temp_spec(); // we should be back on error
error!("2-error message");
warn!("2-warning - you must not see it!");
info!("2-info message - you must not see it!");
debug!("2-debug message - you must not see it!");
trace!("2-trace message - you must not see it!");
logger.pop_temp_spec(); // we should be back on info
error!("2-error message");
warn!("2-warning");
info!("2-info message");
debug!("2-debug message - you must not see it!");
trace!("2-trace message - you must not see it!");
logger.pop_temp_spec(); // should be a no-op
}
fn validate_logs(logger: &LoggerHandle) {
logger.validate_logs(&[
("ERROR", "test_reconfigure_methods", "1-error"),
("WARN", "test_reconfigure_methods", "1-warning"),
("INFO", "test_reconfigure_methods", "1-info"),
//
("ERROR", "test_reconfigure_methods", "1-error"),
//
("ERROR", "test_reconfigure_methods", "1-error"),
("WARN", "test_reconfigure_methods", "1-warning"),
("INFO", "test_reconfigure_methods", "1-info"),
("DEBUG", "test_reconfigure_methods", "1-debug"),
("TRACE", "test_reconfigure_methods", "1-trace"),
// -----
("ERROR", "test_reconfigure_methods", "2-error"),
("WARN", "test_reconfigure_methods", "2-warning"),
("INFO", "test_reconfigure_methods", "2-info"),
//
("ERROR", "test_reconfigure_methods", "2-error"),
//
("ERROR", "test_reconfigure_methods", "2-error"),
("WARN", "test_reconfigure_methods", "2-warning"),
("INFO", "test_reconfigure_methods", "2-info"),
("DEBUG", "test_reconfigure_methods", "2-debug"),
("TRACE", "test_reconfigure_methods", "2-trace"),
//
("ERROR", "test_reconfigure_methods", "2-error"),
//
("ERROR", "test_reconfigure_methods", "2-error"),
("WARN", "test_reconfigure_methods", "2-warning"),
("INFO", "test_reconfigure_methods", "2-info"),
]);
}
|