blob: 45ab2098fc0881e6322243f7b383d774b5fa2d90 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
use log::{Level, Metadata, Record};
pub struct SimpleLogger;
impl log::Log for SimpleLogger {
fn enabled(&self, metadata: &Metadata<'_>) -> bool {
metadata.level() <= Level::Debug
}
fn log(&self, record: &Record<'_>) {
if self.enabled(record.metadata()) {
println!("{} - {}", record.level(), record.args());
}
}
fn flush(&self) {}
}
#[cfg(test)]
mod test {
use super::*;
use log::{Log, MetadataBuilder};
#[test]
fn enabled_test() {
let logger = SimpleLogger {};
let debug_metadata = MetadataBuilder::new().level(Level::Debug).target("fidldoc").build();
assert!(logger.enabled(&debug_metadata));
let trace_metadata = MetadataBuilder::new().level(Level::Trace).target("fidldoc").build();
assert!(!logger.enabled(&trace_metadata));
}
}