logging util

This commit is contained in:
Brandon Thomas committed 2025-10-17 11:41:08 -04:00
1 parent a06b35ae74
commit 27680b6760
3 files changed
+52 -26

No files matched your search

@@ -94,38 +94,15 @@ pub async fn create_listen_websocket(args: CreateListenWebsocketArgs<'_>) -> Res
mod tests {
use super::*;
use crate::test_utils::get_test_cookies::get_test_cookies;
use chrono::Local;
use env_logger::Builder;
use crate::test_utils::setup_test_logging::setup_test_logging;
use errors::AnyhowResult;
use std::io::Write;
use log::LevelFilter;
fn setup_logs() {
println!("Log level: {:?}", env::var("RUST_LOG"));
let is_unsafe = env::set_var("RUST_LOG", "trace");
if is_unsafe.is_none() {
unsafe { std::env::set_var("RUST_LOG", "trace") }
}
println!("Log level: {:?}", env::var("RUST_LOG"));
Builder::new()
.is_test(true)
.format(|buf, record| {
writeln!(buf,
"{} [{}] - {}",
Local::now().format("%H:%M:%S%.6f"),
record.level(),
record.args()
)
})
.filter(None, LevelFilter::Trace)
.filter_level(LevelFilter::Trace)
.init();
}
#[tokio::test]
#[ignore] // manually test
async fn create() -> AnyhowResult<()> {
setup_logs();
setup_test_logging(LevelFilter::Trace);
let cookies = get_test_cookies()?;
let args = CreateListenWebsocketArgs {
cookies: &cookies,
@@ -1,2 +1,5 @@
#[cfg(test)]
pub (crate) mod get_test_cookies;
#[cfg(test)]
pub (crate) mod setup_test_logging;
@@ -0,0 +1,46 @@
use chrono::Local;
use env_logger::Builder;
use log::LevelFilter;
use std::io::Write;
const RUST_LOG : &str = "RUST_LOG";
pub fn setup_test_logging(level: LevelFilter) {
let level_str = get_level_str(level);
println!("Previous log level: {:?}", env::var(RUST_LOG));
let is_unsafe = env::set_var(RUST_LOG, level_str);
if is_unsafe.is_none() {
println!("Unsafely setting Rust Log Level...");
unsafe { std::env::set_var(RUST_LOG, level_str) }
}
println!("Log level: {:?}", env::var(RUST_LOG));
Builder::new()
.is_test(true)
.format(|buf, record| {
writeln!(buf,
"{} [{}] - {}",
Local::now().format("%H:%M:%S%.6f"),
record.level(),
record.args()
)
})
.filter(None, level)
.filter_level(level)
.init();
}
fn get_level_str(level: LevelFilter) -> &'static str {
match level {
LevelFilter::Error => "error",
LevelFilter::Warn => "warn",
LevelFilter::Info => "info",
LevelFilter::Debug => "debug",
LevelFilter::Trace => "trace",
LevelFilter::Off => "off",
}
}