1use std::io::Write;
2
3fn log<W: Write>(writer: &mut W, message: &str) {
4 writeln!(writer, "{}", message).unwrap_or_default();
5}
6
7fn log_conditionally<W: Write>(writer: &mut W, message: &str, should_log: bool) {
8 if should_log {
9 log(writer, message);
10 }
11}
12
13pub fn get_conditional_logger() -> fn(message: &str, should_log: bool) {
14 |message: &str, should_log: bool| {
15 log_conditionally(&mut std::io::stdout(), message, should_log);
16 }
17}
18
19#[cfg(test)]
20#[path = "log_test.rs"]
21mod log_tests;