1use napi_derive::napi;2use tracing_subscriber::filter::LevelFilter;34mod endpoint;5mod key;6mod net;7mod path;8mod relay;9// lofi-node: services module dropped (iroh-services unused by lofi-node)10mod ticket;11mod watch;1213pub use endpoint::*;14pub use key::*;15pub use net::*;16pub use path::*;17pub use relay::*;18// lofi-node: services re-export dropped19mod lofi_ext; // lofi-node: extension module (Buffer framed I/O)20pub use lofi_ext::*; // lofi-node: extension re-export21pub use ticket::*;22pub use watch::*;2324/// The logging level. See the rust (log crate)[https://docs.rs/log] for more information.252627pub enum LogLevel {28 Trace,29 Debug,30 Info,31 Warn,32 Error,33 Off,34}3536impl From<LogLevel> for LevelFilter {37 fn from(level: LogLevel) -> LevelFilter {38 match level {39 LogLevel::Trace => LevelFilter::TRACE,40 LogLevel::Debug => LevelFilter::DEBUG,41 LogLevel::Info => LevelFilter::INFO,42 LogLevel::Warn => LevelFilter::WARN,43 LogLevel::Error => LevelFilter::ERROR,44 LogLevel::Off => LevelFilter::OFF,45 }46 }47}4849/// Set the logging level.5051pub fn set_log_level(level: LogLevel) {52 use tracing_subscriber::{fmt, prelude::*, reload};53 let filter: LevelFilter = level.into();54 let (filter, _) = reload::Layer::new(filter);55 let mut layer = fmt::Layer::default();56 layer.set_ansi(false);57 tracing_subscriber::registry()58 .with(filter)59 .with(layer)60 .init();61}