35 lines
842 B
Rust
35 lines
842 B
Rust
mod audio;
|
|
mod config;
|
|
mod daemon;
|
|
mod db;
|
|
mod paths;
|
|
mod server;
|
|
mod state;
|
|
|
|
fn main() {
|
|
// Initialise logging first so subsequent startup steps are visible.
|
|
let cfg = config::Config::load();
|
|
env_logger::Builder::from_default_env()
|
|
.filter_level(parse_level(&cfg.logging.level))
|
|
.format_timestamp_secs()
|
|
.init();
|
|
|
|
log::info!("Loaded configuration");
|
|
log::debug!("Config: {:?}", cfg);
|
|
|
|
paths::initialize(&cfg);
|
|
|
|
daemon::run(cfg);
|
|
}
|
|
|
|
fn parse_level(s: &str) -> log::LevelFilter {
|
|
match s.to_lowercase().as_str() {
|
|
"trace" => log::LevelFilter::Trace,
|
|
"debug" => log::LevelFilter::Debug,
|
|
"info" => log::LevelFilter::Info,
|
|
"warn" | "warning" => log::LevelFilter::Warn,
|
|
"error" => log::LevelFilter::Error,
|
|
_ => log::LevelFilter::Info,
|
|
}
|
|
}
|