//! WARNING: this is not part of the crate's public API and is subject to change at any time use crate::{Level, Metadata, Record}; use std::fmt::Arguments; pub use std::option::Option; pub use std::{file, format_args, line, module_path, stringify}; #[cfg(not(feature = "kv_unstable"))] pub fn log( args: Arguments, level: Level, &(target, module_path, file): &(&str, &'static str, &'static str), line: u32, kvs: Option<&[(&str, &str)]>, ) { if kvs.is_some() { panic!( "key-value support is experimental and must be enabled using the `kv_unstable` feature" ) } crate::logger().log( &Record::builder() .args(args) .level(level) .target(target) .module_path_static(Some(module_path)) .file_static(Some(file)) .line(Some(line)) .build(), ); } #[cfg(feature = "kv_unstable")] pub fn log( args: Arguments, level: Level, &(target, module_path, file): &(&str, &'static str, &'static str), line: u32, kvs: Option<&[(&str, &dyn crate::kv::ToValue)]>, ) { crate::logger().log( &Record::builder() .args(args) .level(level) .target(target) .module_path_static(Some(module_path)) .file_static(Some(file)) .line(Some(line)) .key_values(&kvs) .build(), ); } pub fn enabled(level: Level, target: &str) -> bool { crate::logger().enabled(&Metadata::builder().level(level).target(target).build()) }