#![cfg_attr(all(feature = "std", feature = "json"), doc = "```")]
#![cfg_attr(not(all(feature = "std", feature = "json")), doc = "```ignore")]
#![doc(html_root_url = "https://docs.rs/log-io")]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![cfg_attr(not(feature = "std"), no_std)]
#![forbid(unsafe_code)]
#![deny(warnings)]
#![deny(missing_docs)]
#![deny(unused_must_use)]
#![deny(unused_results)]
#![deny(clippy::unwrap_used)]
#![deny(clippy::expect_used)]
#![deny(clippy::todo)]
#![deny(clippy::unimplemented)]
#![deny(clippy::print_stdout)]
#![deny(clippy::print_stderr)]
#![deny(clippy::dbg_macro)]
#![deny(clippy::unreachable)]
#![deny(clippy::undocumented_unsafe_blocks)]
#![cfg_attr(test, allow(clippy::unwrap_used, clippy::expect_used))]
#![cfg_attr(
not(all(
feature = "std",
feature = "json",
feature = "logfmt",
feature = "human",
feature = "log",
feature = "tracing"
)),
allow(rustdoc::broken_intra_doc_links)
)]
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
mod level;
mod record;
mod value;
pub use crate::level::{Level, ParseLevelError};
pub use crate::record::{Field, Metadata, Record};
pub use crate::value::Value;
pub mod format;
pub use crate::format::Format;
#[cfg(feature = "std")]
mod builder;
#[cfg(feature = "std")]
mod error;
#[cfg(feature = "std")]
mod filter;
#[cfg(feature = "std")]
mod logger;
#[cfg(feature = "std")]
mod macros;
#[cfg(feature = "std")]
pub(crate) mod time;
#[cfg(feature = "std")]
pub mod context;
#[cfg(feature = "std")]
pub mod global;
#[cfg(feature = "std")]
pub mod sink;
#[cfg(any(feature = "log", feature = "tracing"))]
pub mod compat;
#[cfg(feature = "std")]
pub use crate::builder::{BuildError, LoggerBuilder};
#[cfg(feature = "std")]
pub use crate::error::{Error, Result};
#[cfg(feature = "std")]
pub use crate::filter::{Filter, FilterRule, ParseFilterError, ParseFilterErrorKind};
#[cfg(all(feature = "std", feature = "human"))]
pub use crate::global::init_human;
#[cfg(all(feature = "std", feature = "json"))]
pub use crate::global::init_json;
#[cfg(all(feature = "std", feature = "logfmt"))]
pub use crate::global::init_logfmt;
#[cfg(feature = "std")]
pub use crate::global::{FlushGuard, InitError, SetGlobalError, init, set as set_global};
#[cfg(feature = "std")]
pub use crate::logger::{ErrorHandler, Logger, REDACTED};
#[cfg(feature = "std")]
pub use crate::sink::Sink;
#[cfg(feature = "std")]
#[doc(hidden)]
pub use crate::macros::__private;
#[cfg(all(
doctest,
feature = "std",
feature = "json",
feature = "logfmt",
feature = "human",
feature = "log",
feature = "tracing"
))]
mod external_doc_examples {
#[doc = include_str!("../docs/API.md")]
mod api_md {}
#[doc = include_str!("../README.md")]
mod readme_md {}
}