summaryrefslogtreecommitdiffstats
path: root/vendor/env_logger/examples/custom_format.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/env_logger/examples/custom_format.rs')
-rw-r--r--vendor/env_logger/examples/custom_format.rs54
1 files changed, 54 insertions, 0 deletions
diff --git a/vendor/env_logger/examples/custom_format.rs b/vendor/env_logger/examples/custom_format.rs
new file mode 100644
index 000000000..cc16b336f
--- /dev/null
+++ b/vendor/env_logger/examples/custom_format.rs
@@ -0,0 +1,54 @@
+/*!
+Changing the default logging format.
+
+Before running this example, try setting the `MY_LOG_LEVEL` environment variable to `info`:
+
+```no_run,shell
+$ export MY_LOG_LEVEL='info'
+```
+
+Also try setting the `MY_LOG_STYLE` environment variable to `never` to disable colors
+or `auto` to enable them:
+
+```no_run,shell
+$ export MY_LOG_STYLE=never
+```
+
+If you want to control the logging output completely, see the `custom_logger` example.
+*/
+
+#[cfg(all(feature = "color", feature = "humantime"))]
+fn main() {
+ use env_logger::{fmt::Color, Builder, Env};
+
+ use std::io::Write;
+
+ fn init_logger() {
+ let env = Env::default()
+ .filter("MY_LOG_LEVEL")
+ .write_style("MY_LOG_STYLE");
+
+ Builder::from_env(env)
+ .format(|buf, record| {
+ let mut style = buf.style();
+ style.set_bg(Color::Yellow).set_bold(true);
+
+ let timestamp = buf.timestamp();
+
+ writeln!(
+ buf,
+ "My formatted log ({}): {}",
+ timestamp,
+ style.value(record.args())
+ )
+ })
+ .init();
+ }
+
+ init_logger();
+
+ log::info!("a log from `MyLogger`");
+}
+
+#[cfg(not(all(feature = "color", feature = "humantime")))]
+fn main() {}