From ef06866d10c46098f4b76e0d08ed173fcddcbe0c Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Sat, 18 Apr 2020 02:13:14 +0800 Subject: [PATCH] use custome log --- hyperrs/src/main.rs | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/hyperrs/src/main.rs b/hyperrs/src/main.rs index 631cbed..b84f021 100644 --- a/hyperrs/src/main.rs +++ b/hyperrs/src/main.rs @@ -2,6 +2,32 @@ use std::convert::Infallible; use hyper::service::{ make_service_fn, service_fn, }; use hyper::{ Body, Request, Response, Server, }; +use log::{Record, Level, Metadata}; +use log::{SetLoggerError, LevelFilter}; + +struct SimpleLogger; + +impl log::Log for SimpleLogger { + fn enabled(&self, metadata: &Metadata) -> bool { + metadata.level() <= Level::Info + } + + fn log(&self, record: &Record) { + if self.enabled(record.metadata()) { + println!("{} - {}", record.level(), record.args()); + } + } + + fn flush(&self) {} +} + +static LOGGER: SimpleLogger = SimpleLogger; + +pub fn init() -> Result<(), SetLoggerError> { + log::set_logger(&LOGGER).map(|()| log::set_max_level(LevelFilter::Info)) +} + + async fn hello(_: Request) -> Result, Infallible> { Ok(Response::new(Body::from("Hello World!\n"))) } @@ -9,8 +35,10 @@ async fn hello(_: Request) -> Result, Infallible> { // https://github.com/hyperium/hyper/blob/master/examples/hello.rs #[tokio::main] pub async fn main() -> Result<(), Box> { - pretty_env_logger::init(); + // pretty_env_logger::init(); + init()?; + println!("{}", log::STATIC_MAX_LEVEL); log::info!("hello hyper.rs"); log::warn!("hello hyper.rs"); log::error!("hello hyper.rs");