use std::env;
use tracing_subscriber::{self, EnvFilter};
mod core;
mod server;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
if let Ok(log_level) = env::var("LOG_LEVEL") {
tracing_subscriber::fmt()
.with_env_filter(
EnvFilter::try_from_default_env()
.unwrap_or_else(|_| EnvFilter::new(&log_level))
)
.with_writer(std::io::stderr)
.with_ansi(false)
.init();
tracing::info!("Starting Time MCP server with log level: {}", log_level);
}
if let Err(e) = server::run().await {
if env::var("LOG_LEVEL").is_ok() {
tracing::error!("Error running Time MCP server: {}", e);
}
return Err(e);
}
Ok(())
}