improved logging
This commit is contained in:
37
src/main.rs
37
src/main.rs
@@ -19,6 +19,7 @@ use tower_http::{
|
||||
};
|
||||
use tracing::Level;
|
||||
use tracing::info;
|
||||
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
|
||||
|
||||
mod auth;
|
||||
mod db;
|
||||
@@ -58,11 +59,24 @@ pub struct Cli {
|
||||
async fn main() -> anyhow::Result<()> {
|
||||
let cli = Cli::parse();
|
||||
|
||||
tracing_subscriber::fmt()
|
||||
.with_max_level(tracing::Level::INFO)
|
||||
let log_level = if cli.verbose { "debug" } else { "info" };
|
||||
|
||||
tracing_subscriber::registry()
|
||||
.with(
|
||||
tracing_subscriber::EnvFilter::try_from_default_env().unwrap_or_else(|_| {
|
||||
format!(
|
||||
"{}={},tower_http={},sqlx=warn",
|
||||
env!("CARGO_CRATE_NAME"),
|
||||
log_level,
|
||||
log_level
|
||||
)
|
||||
.into()
|
||||
}),
|
||||
)
|
||||
.with(tracing_subscriber::fmt::layer())
|
||||
.init();
|
||||
|
||||
tracing::info!("Connecting to database...");
|
||||
// tracing::info!("Database connection is lazy, it may be unreachable");
|
||||
let db_pool = db::init_db(cli.database).await?;
|
||||
|
||||
let cors = CorsLayer::new()
|
||||
@@ -96,7 +110,7 @@ async fn main() -> anyhow::Result<()> {
|
||||
prohibit_registration: cli.no_registration,
|
||||
});
|
||||
|
||||
let mut app = Router::new()
|
||||
let app = Router::new()
|
||||
.route("/version", get(get_version))
|
||||
.merge(routes::users::routes())
|
||||
.merge(routes::rooms::routes())
|
||||
@@ -107,16 +121,13 @@ async fn main() -> anyhow::Result<()> {
|
||||
.layer(Extension(realtime))
|
||||
.layer(Extension(config))
|
||||
.layer(GovernorLayer::new(governor_conf))
|
||||
.layer(cors);
|
||||
|
||||
if cli.verbose {
|
||||
app = app.layer(
|
||||
.layer(cors)
|
||||
.layer(
|
||||
TraceLayer::new_for_http()
|
||||
.make_span_with(DefaultMakeSpan::new().level(Level::INFO))
|
||||
.on_response(DefaultOnResponse::new().level(Level::INFO)),
|
||||
)
|
||||
// .layer(middleware::from_fn(log_json_body));
|
||||
}
|
||||
.make_span_with(DefaultMakeSpan::new().level(Level::DEBUG))
|
||||
.on_request(())
|
||||
.on_response(DefaultOnResponse::new().level(Level::DEBUG)),
|
||||
);
|
||||
|
||||
let port = cli.port;
|
||||
let addr = format!("0.0.0.0:{port}");
|
||||
|
||||
Reference in New Issue
Block a user