#![allow(unknown_lints, ambiguous_negative_literals)]
#![allow(dead_code)]
mod init;
mod procmacro;
mod tc39_262;
#[cfg(all(test))]
#[derive(Debug)]
pub(crate) struct Logger(());
#[cfg(all(test, feature = "std", feature = "logging"))]
const LOGGER: &'static Logger = &Logger(());
#[cfg(all(test))]
impl Logger {
pub(crate) fn init() -> Result<(), log::SetLoggerError> {
#[cfg(all(feature = "std", feature = "logging"))]
{
log::set_logger(LOGGER)?;
log::set_max_level(log::LevelFilter::Trace);
Ok(())
}
#[cfg(not(all(feature = "std", feature = "logging")))]
{
Ok(())
}
}
}
#[cfg(all(test, feature = "std", feature = "logging"))]
impl log::Log for Logger {
fn enabled(&self, _: &log::Metadata<'_>) -> bool {
true
}
fn log(&self, record: &log::Record<'_>) {
let now = jiff::Timestamp::now();
match (record.file(), record.line()) {
(Some(file), Some(line)) => {
std::eprintln!(
"{}|{}|{}|{}:{}: {}",
now,
record.level(),
record.target(),
file,
line,
record.args()
);
}
(Some(file), None) => {
std::eprintln!(
"{}|{}|{}|{}: {}",
now,
record.level(),
record.target(),
file,
record.args()
);
}
_ => {
std::eprintln!(
"{}|{}|{}: {}",
now,
record.level(),
record.target(),
record.args()
);
}
}
}
fn flush(&self) {
}
}