35 lines
1.3 KiB
Rust
35 lines
1.3 KiB
Rust
use appflowy_cloud::application::{init_state, Application};
|
|
use appflowy_cloud::config::config::{get_configuration, Environment};
|
|
use appflowy_cloud::telemetry::init_subscriber;
|
|
|
|
#[actix_web::main]
|
|
async fn main() -> anyhow::Result<()> {
|
|
let level = std::env::var("RUST_LOG").unwrap_or("info".to_string());
|
|
println!("AppFlowy Cloud with RUST_LOG={}", level);
|
|
|
|
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));
|
|
filters.push(format!("database={}", level));
|
|
filters.push(format!("storage={}", level));
|
|
|
|
let app_env: Environment = std::env::var("APP_ENVIRONMENT")
|
|
.unwrap_or_else(|_| "local".to_string())
|
|
.try_into()
|
|
.expect("Failed to parse APP_ENVIRONMENT.");
|
|
|
|
init_subscriber(&app_env, filters);
|
|
let configuration = get_configuration(&app_env).expect("The configuration should be configured.");
|
|
let state = init_state(&configuration)
|
|
.await
|
|
.expect("The AppState should be initialized");
|
|
let application = Application::build(configuration, state).await?;
|
|
application.run_until_stopped().await?;
|
|
|
|
Ok(())
|
|
}
|