mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-09-02 09:09:17 +00:00
log: add test log init
log
This commit is contained in:
@@ -117,18 +117,19 @@ pub fn init(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn console_layers(
|
fn console_layers(
|
||||||
level: LevelFilter,
|
default_level: LevelFilter,
|
||||||
) -> anyhow::Result<Vec<Box<dyn Layer<Registry> + Send + Sync>>> {
|
) -> anyhow::Result<Vec<Box<dyn Layer<Registry> + Send + Sync>>> {
|
||||||
let mut layers = Vec::new();
|
let mut layers = Vec::new();
|
||||||
if level == LevelFilter::OFF {
|
if default_level == LevelFilter::OFF {
|
||||||
return Ok(layers);
|
return Ok(layers);
|
||||||
}
|
}
|
||||||
|
|
||||||
let (console_filter, _) = tracing_subscriber::reload::Layer::new(parse_env_filter(level)?);
|
let (console_filter, _) =
|
||||||
|
tracing_subscriber::reload::Layer::new(parse_env_filter(default_level)?);
|
||||||
|
|
||||||
cfg_if! {
|
cfg_if! {
|
||||||
if #[cfg(test)] {
|
if #[cfg(test)] {
|
||||||
let w = TestWriter::new;
|
let w = tracing_subscriber::fmt::TestWriter::new;
|
||||||
let (stdout, stderr) = (w, w);
|
let (stdout, stderr) = (w, w);
|
||||||
} else {
|
} else {
|
||||||
let (stdout, stderr) = (std::io::stderr, std::io::stdout);
|
let (stdout, stderr) = (std::io::stderr, std::io::stdout);
|
||||||
@@ -273,14 +274,21 @@ fn file_layers(
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
pub mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::common::config::{self};
|
use crate::common::config::{self};
|
||||||
|
|
||||||
|
pub fn init() {
|
||||||
|
let _ = Registry::default()
|
||||||
|
.with(console_layers(LevelFilter::DEBUG).unwrap())
|
||||||
|
.try_init();
|
||||||
|
}
|
||||||
|
|
||||||
|
#[tokio::test]
|
||||||
async fn test_logger_reload() {
|
async fn test_logger_reload() {
|
||||||
println!("current working dir: {:?}", std::env::current_dir());
|
println!("current working dir: {:?}", std::env::current_dir());
|
||||||
let config = config::LoggingConfigBuilder::default().build().unwrap();
|
let config = config::LoggingConfigBuilder::default().build().unwrap();
|
||||||
let s = init(&config, true).unwrap();
|
let s = super::init(&config, true).unwrap();
|
||||||
tracing::debug!("test not display debug");
|
tracing::debug!("test not display debug");
|
||||||
s.unwrap().send(LevelFilter::DEBUG.to_string()).unwrap();
|
s.unwrap().send(LevelFilter::DEBUG.to_string()).unwrap();
|
||||||
tokio::time::sleep(tokio::time::Duration::from_secs(1)).await;
|
tokio::time::sleep(tokio::time::Duration::from_secs(1)).await;
|
||||||
|
|||||||
Reference in New Issue
Block a user