AppFlowy-Cloud/src/main.rs

31 lines
1.1 KiB
Rust

use appflowy_cloud::application::{init_state, init_storage, Application};
use appflowy_cloud::config::config::get_configuration;
use appflowy_cloud::telemetry::{get_subscriber, init_subscriber};
#[actix_web::main]
async fn main() -> anyhow::Result<()> {
let level = std::env::var("RUST_LOG").unwrap_or("info".to_string());
let mut filters = vec![];
filters.push(format!("actix_web={}", level));
filters.push(format!("collab={}", level));
filters.push(format!("collab_sync={}", level));
filters.push(format!("appflowy_cloud={}", level));
filters.push(format!("collab_plugins={}", level));
filters.push(format!("realtime={}", level));
let subscriber = get_subscriber(
"appflowy_cloud".to_string(),
filters.join(","),
std::io::stdout,
);
init_subscriber(subscriber);
let configuration = get_configuration().expect("Failed to read configuration.");
let state = init_state(&configuration).await;
let storage = init_storage(&configuration, state.pg_pool.clone()).await;
let application = Application::build(configuration, state, storage).await?;
application.run_until_stopped().await?;
Ok(())
}