From df53678a34ba3246def0f21b89a591d35d2e9a8e Mon Sep 17 00:00:00 2001 From: MarkMcCaskey Date: Sat, 27 May 2017 14:18:28 -0400 Subject: [PATCH 1/2] Add more documentation to Metadata struct --- src/lib.rs | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index bd02cc4..3d116eb 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -568,6 +568,46 @@ impl<'a> Record<'a> { } /// Metadata about a log message. +/// +/// # Use +/// +/// `Metadata` structs are created when users of the library use +/// logging macros. +/// +/// They are consumed by implementations of the `Log` trait in the +/// `enabled` method. +/// +/// `Record`s use `Metadata` to determine the log message's severity +/// and target. +/// +/// +/// Users should use the `log_enabled!` macro in their code to avoid +/// constructing expensive log messages. +/// +/// ## Examples +/// +/// ```rust +/// # #[macro_use] +/// # extern crate log; +/// +/// use log::{Record, Level, Metadata}; +/// +/// struct MyLogger; +/// +/// impl log::Log for MyLogger { +/// fn enabled(&self, metadata: &Metadata) -> bool { +/// metadata.level() <= Level::Info +/// } +/// +/// fn log(&self, record: &Record) { +/// if self.enabled(record.metadata()) { +/// println!("{} - {}", record.level(), record.args()); +/// } +/// } +/// } +/// +/// # fn main(){} +/// ``` #[derive(Eq, PartialEq, Ord, PartialOrd, Hash, Debug)] pub struct Metadata<'a> { level: Level, From 739bb4ae85a8c5833010043d89e23387d341dfaa Mon Sep 17 00:00:00 2001 From: MarkMcCaskey Date: Sat, 27 May 2017 15:03:58 -0400 Subject: [PATCH 2/2] Fix formatting of Metadata documentation --- src/lib.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 3d116eb..426bd4c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -580,16 +580,15 @@ impl<'a> Record<'a> { /// `Record`s use `Metadata` to determine the log message's severity /// and target. /// -/// /// Users should use the `log_enabled!` macro in their code to avoid /// constructing expensive log messages. /// -/// ## Examples +/// # Examples /// /// ```rust /// # #[macro_use] /// # extern crate log; -/// +/// # /// use log::{Record, Level, Metadata}; /// /// struct MyLogger;