summaryrefslogtreecommitdiffstats
path: root/vendor/env_logger-0.7.1/examples
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:02:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:02:58 +0000
commit698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch)
tree173a775858bd501c378080a10dca74132f05bc50 /vendor/env_logger-0.7.1/examples
parentInitial commit. (diff)
downloadrustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz
rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/env_logger-0.7.1/examples')
-rw-r--r--vendor/env_logger-0.7.1/examples/custom_default_format.rs41
-rw-r--r--vendor/env_logger-0.7.1/examples/custom_format.rs53
-rw-r--r--vendor/env_logger-0.7.1/examples/custom_logger.rs60
-rw-r--r--vendor/env_logger-0.7.1/examples/default.rs38
-rw-r--r--vendor/env_logger-0.7.1/examples/direct_logger.rs37
-rw-r--r--vendor/env_logger-0.7.1/examples/filters_from_code.rs18
6 files changed, 247 insertions, 0 deletions
diff --git a/vendor/env_logger-0.7.1/examples/custom_default_format.rs b/vendor/env_logger-0.7.1/examples/custom_default_format.rs
new file mode 100644
index 000000000..43979247c
--- /dev/null
+++ b/vendor/env_logger-0.7.1/examples/custom_default_format.rs
@@ -0,0 +1,41 @@
+/*!
+Disabling parts of the default 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.
+*/
+
+#[macro_use]
+extern crate log;
+
+use env_logger::{Builder, Env};
+
+fn init_logger() {
+ let env = Env::default()
+ .filter("MY_LOG_LEVEL")
+ .write_style("MY_LOG_STYLE");
+
+ let mut builder = Builder::from_env(env);
+
+ builder.format_level(false).format_timestamp_nanos();
+
+ builder.init();
+}
+
+fn main() {
+ init_logger();
+
+ info!("a log from `MyLogger`");
+}
diff --git a/vendor/env_logger-0.7.1/examples/custom_format.rs b/vendor/env_logger-0.7.1/examples/custom_format.rs
new file mode 100644
index 000000000..df5a8e5b9
--- /dev/null
+++ b/vendor/env_logger-0.7.1/examples/custom_format.rs
@@ -0,0 +1,53 @@
+/*!
+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 = "termcolor", feature = "humantime"))]
+fn main() {
+ use env_logger::{fmt, 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(fmt::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 = "termcolor", feature = "humantime")))]
+fn main() {}
diff --git a/vendor/env_logger-0.7.1/examples/custom_logger.rs b/vendor/env_logger-0.7.1/examples/custom_logger.rs
new file mode 100644
index 000000000..85de45b2d
--- /dev/null
+++ b/vendor/env_logger-0.7.1/examples/custom_logger.rs
@@ -0,0 +1,60 @@
+/*!
+Using `env_logger` to drive a custom logger.
+
+Before running this example, try setting the `MY_LOG_LEVEL` environment variable to `info`:
+
+```no_run,shell
+$ export MY_LOG_LEVEL='info'
+```
+
+If you only want to change the way logs are formatted, look at the `custom_format` example.
+*/
+
+#[macro_use]
+extern crate log;
+
+use env_logger::filter::Filter;
+use log::{Log, Metadata, Record, SetLoggerError};
+
+struct MyLogger {
+ inner: Filter,
+}
+
+impl MyLogger {
+ fn new() -> MyLogger {
+ use env_logger::filter::Builder;
+ let mut builder = Builder::from_env("MY_LOG_LEVEL");
+
+ MyLogger {
+ inner: builder.build(),
+ }
+ }
+
+ fn init() -> Result<(), SetLoggerError> {
+ let logger = Self::new();
+
+ log::set_max_level(logger.inner.filter());
+ log::set_boxed_logger(Box::new(logger))
+ }
+}
+
+impl Log for MyLogger {
+ fn enabled(&self, metadata: &Metadata) -> bool {
+ self.inner.enabled(metadata)
+ }
+
+ fn log(&self, record: &Record) {
+ // Check if the record is matched by the logger before logging
+ if self.inner.matches(record) {
+ println!("{} - {}", record.level(), record.args());
+ }
+ }
+
+ fn flush(&self) {}
+}
+
+fn main() {
+ MyLogger::init().unwrap();
+
+ info!("a log from `MyLogger`");
+}
diff --git a/vendor/env_logger-0.7.1/examples/default.rs b/vendor/env_logger-0.7.1/examples/default.rs
new file mode 100644
index 000000000..67bb03074
--- /dev/null
+++ b/vendor/env_logger-0.7.1/examples/default.rs
@@ -0,0 +1,38 @@
+/*!
+Using `env_logger`.
+
+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
+```
+*/
+
+#[macro_use]
+extern crate log;
+
+use env_logger::Env;
+
+fn main() {
+ // The `Env` lets us tweak what the environment
+ // variables to read are and what the default
+ // value is if they're missing
+ let env = Env::default()
+ .filter_or("MY_LOG_LEVEL", "trace")
+ .write_style_or("MY_LOG_STYLE", "always");
+
+ env_logger::init_from_env(env);
+
+ trace!("some trace log");
+ debug!("some debug log");
+ info!("some information log");
+ warn!("some warning log");
+ error!("some error log");
+}
diff --git a/vendor/env_logger-0.7.1/examples/direct_logger.rs b/vendor/env_logger-0.7.1/examples/direct_logger.rs
new file mode 100644
index 000000000..4ba023fae
--- /dev/null
+++ b/vendor/env_logger-0.7.1/examples/direct_logger.rs
@@ -0,0 +1,37 @@
+/*!
+Using `env_logger::Logger` and the `log::Log` trait directly.
+
+This example doesn't rely on environment variables, or having a static logger installed.
+*/
+
+fn record() -> log::Record<'static> {
+ let error_metadata = log::MetadataBuilder::new()
+ .target("myApp")
+ .level(log::Level::Error)
+ .build();
+
+ log::Record::builder()
+ .metadata(error_metadata)
+ .args(format_args!("Error!"))
+ .line(Some(433))
+ .file(Some("app.rs"))
+ .module_path(Some("server"))
+ .build()
+}
+
+fn main() {
+ use log::Log;
+
+ let stylish_logger = env_logger::Builder::new()
+ .filter(None, log::LevelFilter::Error)
+ .write_style(env_logger::WriteStyle::Always)
+ .build();
+
+ let unstylish_logger = env_logger::Builder::new()
+ .filter(None, log::LevelFilter::Error)
+ .write_style(env_logger::WriteStyle::Never)
+ .build();
+
+ stylish_logger.log(&record());
+ unstylish_logger.log(&record());
+}
diff --git a/vendor/env_logger-0.7.1/examples/filters_from_code.rs b/vendor/env_logger-0.7.1/examples/filters_from_code.rs
new file mode 100644
index 000000000..4137c9189
--- /dev/null
+++ b/vendor/env_logger-0.7.1/examples/filters_from_code.rs
@@ -0,0 +1,18 @@
+/*!
+Specify logging filters in code instead of using an environment variable.
+*/
+
+#[macro_use]
+extern crate log;
+
+fn main() {
+ env_logger::builder()
+ .filter_level(log::LevelFilter::Trace)
+ .init();
+
+ trace!("some trace log");
+ debug!("some debug log");
+ info!("some information log");
+ warn!("some warning log");
+ error!("some error log");
+}