|  | // 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)); | 
|  | } | 
|  | } |